ホームページ > Java > &#&チュートリアル > Java シフト演算子: >> と >>> の違いは何ですか?

Java シフト演算子: >> と >>> の違いは何ですか?

Barbara Streisand
リリース: 2024-12-07 06:02:16
オリジナル
995 人が閲覧しました

Java Shift Operators: What's the Difference Between >> と >>>?
> と >>>? " />

シフト演算子: >> と >>>

Java には 2 つの異なるシフト演算子があります: >> (算術シフト) right) と >>> (論理右シフト)

算術右シフト (>>)

>> 演算子は、負の数の場合、算術シフト演算を実行します。負の値を保持するためにビットが拡張されます。これは、数値の元の値を維持しながら、ゼロが左からシフトインされることを意味します。 sign.

論理右シフト (>>>)

対照的に、>>> に関係なく論理右シフト演算を実行します。数値の符号、2 進数は右にシフトされ、左からゼロで埋められます。この演算では数値の符号は保持されません。一般的に符号なしの値で使用されます。

例:

次の -2 の 8 ビット表現を考えてみましょう: 11111110。

  • 算術シフト右に 1 ビット (>> 1): 11111111 (-1)
  • 1 ビット論理右シフト (>>> 1): 01111111 (unsigned 127)

符号ビットを保持することにより算術シフトでは負の値が維持されますが、論理シフトでは無視されます。符号を付け、すべての値を符号なしとして扱います。この区別は、負の値の解釈が重要な状況では不可欠です。

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

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