シフト演算子とビット単位の短縮代入

王林
リリース: 2024-08-17 18:48:32
オリジナル
210 人が閲覧しました

1。ビットシフト演算子

  • <<: 左にシフトします。
  • >>: 右にシフトします。
  • >>>: 符号なし右シフト (ゼロ埋め込み)。

2。シフト演算子の一般的な構文
値 << num-bits: 値を左にビットシフトします。
値>>; num-bits: 符号ビットを維持しながら、値のビットを右にシフトします。
値 >>> num-bits: 値を右にビットシフトし、左側にゼロを挿入します。

3。左シフト

  • 左にシフトするたびに、値のすべてのビットが 1 つ左にシフトされます。
  • 右側にビット0が挿入されます。
  • 効果: 変位ごとに値を 2 で乗算します。

4。右にシフト

  • 右にシフトするたびに、すべてのビットが 1 つ右に移動します。
  • 符号ビットは保持されます:正の値の場合は 0、負の値の場合は 1。
  • 効果: 各変位での値を切り捨てて 2 で割ります。

5。右シフト信号なし (>>>)

  • 信号ビットの保持はありません。左側に 0 を挿入します。
  • 値が符号なしの数値として扱われるビット パターンで使用されます。

6。変位は回転ではありません

  • シフトアウトされたビットは失われます。
  • シフトでは、シフトアウトされたビットを回復することはできません。

例:
左右シフト
*シフトデモ *

バイト値とショート値をシフトするときの注意

  • Java は、式を評価するときに byte と short を int に自動的に昇格します。

例:

  • 負のバイト値を右にシフト: int に昇格すると、上位ビットは 1 で埋められます。
  • ゼロ パディング (>>>) を使用して右にシフトすると、ゼロが表示され始める前に上位 24 ビットが 1 になるため、問題が発生する可能性があります。

ビット演算子を使用した短縮代入

  • すべての二項ビット演算子には、代入とビット演算を組み合わせた短縮形式があります。


リーリー

Os operadores de deslocamento e atribuições abreviadas bitwise

以上がシフト演算子とビット単位の短縮代入の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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