Webエンジニア向けプログラミング解説動画をYouTubeで配信中!
▶ チャンネル登録はこちら

【JavaScript ECMAScript】Unsigned right shift assignment (>>>=)演算子の使い方

Unsigned right shift assignment (>>>=)演算子の使い方について、初心者にもわかりやすく解説します。

作成日: 更新日:

基本的な使い方

Unsigned right shift assignment (>>>=)関数は、左辺の変数の値を指定されたビット数だけ右にシフトし、その結果を再び左辺の変数に代入する演算を実行する関数です。この演算は、x >>>= yという形式で記述され、これはx = x >>> yと等価な処理を行います。

JavaScriptにおける>>>(符号なし右シフト)演算子は、数値の二進数表現を右方向に移動させる役割を持ちます。この「符号なし」という特徴は非常に重要で、シフトによって空いた左側のビット位置には常に0が埋められます。これにより、たとえ元の数値が負の数であったとしても、シフト後の結果は必ず非負(0以上)の整数となります。通常の右シフト演算子(>>)が元の数値の符号ビットを保持するのとは異なる挙動を示す点に注意が必要です。

>>>=演算子は、主にビットレベルでのデータ操作や、特定の効率的な数値処理に活用されます。例えば、正の整数に対してこの演算を適用すると、2の累乗で割る操作と似た効果が得られますが、小数部分は切り捨てられます。また、負の数をシフトする際に、その符号に関わらず結果を正の数にしたい場合に特に有効です。JavaScriptの数値は内部的には64ビット浮動小数点数ですが、ビット演算の際には32ビット整数として扱われるという特性も理解しておくことが重要です。

公式リファレンス: Unsigned right shift assignment (>>>=)

構文(syntax)

1let value = 128; // Binary: ...010000000
2value >>>= 2;    // value = value >>> 2;
3// After the operation, value will be 32 (Binary: ...000100000)

引数(parameters)

引数なし

引数はありません

戻り値(return)

Number

Unsigned right shift assignment (>>>=) 演算子は、演算子の左辺のオペランドを、右辺のオペランドで指定されたビット数だけ符号なし右シフトし、その結果を左辺のオペランドに代入します。戻り値は、代入後の左辺のオペランドの値、すなわち数値 (Number) です。

関連コンテンツ

関連プログラミング言語