ホームページ > よくある問題 > jsシフト演算子の使い方

jsシフト演算子の使い方

百草
リリース: 2023-09-27 10:26:57
オリジナル
1472 人が閲覧しました

js シフト演算子の使用法は、数値の置換演算を実行することです。シフト演算子には、左シフト、右シフト、符号なし右シフトが含まれます。これらは、数値の置換演算の実行に使用できます。バイナリ表現は次のように左または右に移動します。指定されたビット数を計算して結果を返します。シフト演算子は、計算やビット マスク操作の最適化など、一部の特定のシナリオで特定の用途に使用されますが、一般にシフト演算子が使用されることはほとんどありません。

jsシフト演算子の使い方

#JavaScript のシフト演算子は、数値の変位演算を実行するために使用されます。シフト演算子には、左シフト (<<)、右シフト (>>)、および符号なし右シフト (>>>) が含まれます。これらの演算子は、数値のバイナリ表現を指定された桁数だけ左または右にシフトし、結果を返します。

1. 左シフト演算子 (<<):

左シフト演算子は、数値のバイナリ表現を指定された桁数だけ左に移動します。移動後、右側の空いたビットは 0 で埋められます。左シフト演算子の構文は次のとおりです。

   result = number << count;
ログイン後にコピー

このうち、number はシフトする数値、count は移動する桁数、result はシフト後の結果です。

例:

   var number = 5; // 二进制表示为 00000101
   var count = 2; // 向左移动2位
   var result = number << count; // 结果为 20,二进制表示为 00010100
ログイン後にコピー

2. 右シフト演算子 (>>):

右シフト演算子は、数値の 2 進表現を指定された分だけ右に移動します。桁数。シフト後、左側の空いたビットは数値の符号ビット (正の数の場合は 0、負の数の場合は 1) で埋められます。右シフト演算子の構文は次のとおりです。

   result = number >> count;
ログイン後にコピー

このうち、number はシフトする数値、count は移動する桁数、result はシフト後の結果です。

例:

   var number = 20; // 二进制表示为 00010100
   var count = 2; // 向右移动2位
   var result = number >> count; // 结果为 5,二进制表示为 00000101
ログイン後にコピー

3. 符号なし右シフト演算子 (>>>):

符号なし右シフト演算子は、数値のバイナリ表現を Shift にシフトします。指定された桁数だけ右に移動します。シフト後、左側の空いたビットは 0 で埋められます。符号なし右シフト演算子の構文は次のとおりです。

   result = number >>> count;
ログイン後にコピー

このうち、number はシフトする数値、count は移動する桁数、result はシフト後の結果です。

例:

   var number = -5; // 二进制表示为 11111111111111111111111111111011
   var count = 2; // 向右移动2位
   var result = number >>> count; // 结果为 1073741822,二进制表示为 00111111111111111111111111111110
ログイン後にコピー

JavaScript におけるシフト演算子の適用シナリオは比較的限られていますが、それでも次のような特定の状況で特定の用途があります。

1. 最適化計算: シフト演算は乗算と除算より効率的であるため、乗算と除算の代わりにシフト演算を使用できます。多数の乗算または除算演算が必要な一部のシナリオでは、最適化のためにシフト演算子の使用を検討できます。

2. ビット マスク操作: シフト操作を使用してビット マスクを作成および操作できます。ビット マスキングは、バイナリ ビットをマークして抽出するための手法であり、ビット操作に関連する問題に対処するためによく使用されます。

シフト演算子は、32 ビット符号付き整数 (JavaScript の数値型) の処理にのみ使用できることに注意してください。演算対象の数値が 32 ビットの範囲を超える場合、シフト演算子の動作は未定義になります。さらに、シフト演算子は元の数値の型を変更せず、結果は 32 ビットの符号付き整数のままです。

要約すると、JavaScript のシフト演算子には、左シフト (<<)、右シフト (>>)、および符号なし右シフト (>>>) が含まれます。これらを使用すると、数値のビット シフト演算を実行し、数値のバイナリ表現を指定されたビット数だけ左または右にシフトして、結果を返すことができます。シフト演算子は、最適化計算やビット マスク操作など、特定のシナリオで特定の用途に使用されます。ただし、一般にシフト演算子を使用することはほとんどありません。

以上がjsシフト演算子の使い方の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート