Java >>> と >> の違い

(*-*)浩
リリース: 2019-11-11 11:54:14
オリジナル
2440 人が閲覧しました

Java >>> と >> の違い

>>: 符号付き右シフト。正の数値は右にシフトされ、上位ビットは 0 で埋められ、負の数値は右にシフトされ、上位ビットは 1 で埋められます。 例:

4 >> 1、結果は 2; -4 >> 1、結果は -2。 -2 >> 1 の場合、結果は -1 になります。

>>>: 符号なしの右シフト。正の数か負の数かに関係なく、上位ビットは常に 0 で埋められます。 (推奨学習: java コース )

正の数の場合、>> と >>> の間に違いはありません。

負の数の場合、-2 >>> 1、結果は 2147483647 (Integer.MAX_VALUE)、-1 >>> 1、結果は 2147483647 (Integer.MAX_VALUE) になります。 MAX_VALUE) )。

次のコードは、2 つの数値の符号が等しいかどうかを判断できます。

return ((a >> 31) ^ (b >> 31)) == 0;
ログイン後にコピー

例:

-12 > ;> 3 は、3 桁の符号付き右シフトです。結果は、1111 1111 1111 1111 1111 1111 1111 1110 となります。10 進法は -2;

-12 > ゼロは 0001 1111 1111 1111 1111 1111 1111 1110、10 進数: 536870910。

以上がJava >>> と >> の違いの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート