Javaの>>>と>>の違い

王林
リリース: 2019-11-18 10:44:32
オリジナル
3145 人が閲覧しました

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;
ログイン後にコピー
結果は >

## と同じです補足:

<< は左側です>> に対応するシフト演算子。exp1 を exp2 ビットだけ左に移動し、下位ビットを 0 で埋めることを意味します。実際、n ビットを左に移動することは、2^n を乗算することと同じです。 左シフトには <<< 演算子はありません。

推奨チュートリアル:

Java チュートリアル

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

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!