>>>" と ">>" の違いは次のとおりです: ">>" は右シフトを意味します。数値が正の場合、上位ビットは 0 で埋められます。負の数値の場合、上位ビットは 0 で埋められます。 「>>>>」は符号なし右シフトを意味します。数値が正の場合、上位ビットは 0 で埋められます。数値が負の場合、右シフト後の上位ビットも 0 で埋められます。"/> >>>" と ">>" の違いは次のとおりです: ">>" は右シフトを意味します。数値が正の場合、上位ビットは 0 で埋められます。負の数値の場合、上位ビットは 0 で埋められます。 「>>>>」は符号なし右シフトを意味します。数値が正の場合、上位ビットは 0 で埋められます。数値が負の場合、右シフト後の上位ビットも 0 で埋められます。">

ホームページ >Java >&#&ベース >Javaの>>>と>>の違い

Javaの>>>と>>の違い

王林
王林オリジナル
2019-11-18 10:44:323261ブラウズ

Javaの>>>と>>の違い

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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。