Java のビット演算子:
>>: 右シフトを意味します。数値が正の場合、上位ビットは 0 で埋められます。負の数値の場合、上位ビットを 1 で埋めます;
>>>: 論理右シフトとも呼ばれる符号なし右シフトを示します。つまり、数値が正の場合、上位ビットが埋められます。数値が負の場合は、シフト後の上位ビットも 0 で埋められます。
式は次のとおりです:
result = exp1 >> exp2; result = exp2 >>> exp2;
は、数値 exp1 を右に exp2 ビット移動することを意味します。
例:
res = 20 >> 2;
20 の 2 進数は 0001 0100 です。2 ビット右にシフトすると、0000 0101 になります。結果は res = 5、## の 2 進数です。 #
res = -20 >> 2;
res = 20 >>> 2;
<< は左側です>> に対応するシフト演算子。exp1 を exp2 ビットだけ左に移動し、下位ビットを 0 で埋めることを意味します。実際、n ビットを左に移動することは、2^n を乗算することと同じです。 左シフトには <<< 演算子はありません。
推奨チュートリアル:
Java チュートリアル以上がJavaの>>>と>>の違いの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。