JavaScript

>>>(符号なしビット右シフト演算子)

 編集:2022.08.07 by T.A.

1つ目のオペランドを、指定されたビット数だけ右にずらします(ゼロ埋め右シフト)。

右にずらしてあふれたビットは廃棄されます。0 のビットが左からずれて入ります。符号ビットは 0 になりますので、結果は負の数にはなりません。他のビット毎演算子とは異なり、ゼロ埋め右シフトは符号なし32ビット整数を返します。

X >>> n
X オペランド
n シフト数(ビット数)

負の数ではない場合、ゼロ埋め右シフトと符号保存右シフトは同じ結果になります。

例えば、9 >>> 2 は 2 となり、9 >> 2 と同じになります:

      9(10進数):00000000000000000000000000001001(2進数)
                   --------------------------------
9 >>> 2(10進数):00000000000000000000000000000010(2進数)=2(10進数)

しかし、これは負の数の場合は当てはまりません。

例えば、-9 >>> 2 は 1073741821 になり、-9 >> 2(-3 になる)とは異なります:

      -9(10進数):11111111111111111111111111110111(2進数)
                    --------------------------------
-9 >>> 2(10進数):00111111111111111111111111111101(2進数)=1073741821(10進数)

テスト