首頁  >  文章  >  Java  >  移位運算子與位元簡寫賦值

移位運算子與位元簡寫賦值

王林
王林原創
2024-08-17 18:48:32337瀏覽

1。位移位運算子

  • >>:向右移動。
  • >>:無符號右移(零填充)。

2。移位運算子的一般語法
值 值>> num-bits:將值位往右移動,保留符號位。
值>> num-bits:將值位向右移動,左側插入零。

3。向左移動

  • 每次左移都會導致該值的所有位元向左移動一位。
  • 右側插入了 0 位。
  • 效果:每次位移將數值乘以 2。

4。往右移動

  • 每次右移都會將所有位元向右移動一位。
  • 保留符號位元:0 表示正值,1 表示負值。
  • 效果:每個班次將數值除以 2,向下捨去。

5。向右移動無訊號(>>)

  • 無符號位元保存;在左側插入 0。
  • 用於位元模式,其中值被視為無符號數字。

6。位移不是旋轉

  • 移出的位會遺失。
  • 移位不允許恢復移出的位元。

範例:
左移和右移
*Shift示範 *

移動位元組和短值時要小心

  • 在計算表達式時,Java 會自動將 byte 和 Short 提升為 int。

範例:

  • 將負位元組值右移:提升為 int 時,高位元填入 1。
  • 當使用零填充右移時 (>>),這可能會導致問題,因為在零開始出現之前,前 24 位將為 1。

位元運算子的縮寫賦值

  • 所有二元位元運算子都有一種簡寫形式,將賦值與位元運算結合。

範例

x = x ^ 127;
x ^= 127;

Os operadores de deslocamento e atribuições abreviadas bitwise

以上是移位運算子與位元簡寫賦值的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn