>>>" と ">>" の違いは次のとおりです: ">>" は右シフトを意味します。数値が正の場合、上位ビットは 0 で埋められます。負の数値の場合、上位ビットは 0 で埋められます。 「>>>>」は符号なし右シフトを意味します。数値が正の場合、上位ビットは 0 で埋められます。数値が負の場合、右シフト後の上位ビットも 0 で埋められます。"/> >>>" と ">>" の違いは次のとおりです: ">>" は右シフトを意味します。数値が正の場合、上位ビットは 0 で埋められます。負の数値の場合、上位ビットは 0 で埋められます。 「>>>>」は符号なし右シフトを意味します。数値が正の場合、上位ビットは 0 で埋められます。数値が負の場合、右シフト後の上位ビットも 0 で埋められます。">
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;-20 正の数の補数、つまり 1110 1011 に 1 を加算します。右に 2 ビットシフトすると、1111 1100 になります。結果は res = -6;そして>>> 記号の場合:
res = 20 >>> 2;結果は > ## と同じです補足:
04b0b6ee6ac201f0cc2e03d0468ef246> に対応するシフト演算子。exp1 を exp2 ビットだけ左に移動し、下位ビットを 0 で埋めることを意味します。実際、n ビットを左に移動することは、2^n を乗算することと同じです。 左シフトには <<< 演算子はありません。
推奨チュートリアル:
Java チュートリアル以上がJavaの>>>と>>の違いの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。