「労働者が自分の仕事をうまくやりたいなら、まず自分の道具を研ぎ澄まさなければなりません。」 - 孔子、「論語。陸霊公」
表紙 > プログラミング > シフト演算子とビット単位の短縮代入

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

2024 年 11 月 5 日に公開
ブラウズ:422

1.ビットシフト演算子

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

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

3.左シフト

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

4.右にシフト

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

5.右にシフト 符号なし (>>>)

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

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

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

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

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

  • Java は、式を評価するときに、byte および short を int に自動的に昇格させます。

例:

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

ビット演算子による省略型代入

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


x = x ^ 127;
x ^= 127;

Os operadores de deslocamento e atribuições abreviadas bitwise

リリースステートメント この記事は次の場所に転載されています: https://dev.to/devsjavagirls/os-operadores-de-deslocamento-e-atribuicoes-abreviadas-bitwise-3nao?1 侵害がある場合は、削除するために[email protected]に連絡してください。それ
最新のチュートリアル もっと>

免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。

Copyright© 2022 湘ICP备2022001581号-3