次の方法で共有


右シフト

負の値の符号付き整数型の右シフトの結果

負の値を右へシフトすると、絶対値の 1/2 (切り捨て) になります。 たとえば、符号付きの signed short の値 -253 (16 進で 0xFF03、バイナリで 11111111 00000011) を右に 1 ビット シフトすると、-127 (16 進で 0xFF81、バイナリで 11111111 10000001) になります。 正の 253 を右にシフトすると +126 になります。

右シフトでは、符号付き整数型の符号ビットが保持されます。 符号付き整数を右にシフトすると、最上位ビットはセットされたままになります。 たとえば、0xF0000000 が符号付き int の場合、右にシフトすると 0xF8000000 になります。 負の int を右に 32 回シフトすると 0xFFFFFFFF になります。

符号なし整数を右にシフトすると、最上位ビットはクリアされます。 たとえば、0xF000 が符号なしの場合、結果は 0x7800 です。 unsigned または正の int を右に 32 回シフトすると、0x00000000 になります。

関連項目

整数