实用术语中的按位运算符

时间:2016-02-25 04:16:13

标签: java bit-manipulation bitwise-operators

我理解按位运算符如>>,<<,>>>在低水平位工作。 但我想了解当有人使用它们编写代码时他们真正要做的事情。 喜欢

 a << 2 = a * (2^2)
 a >> 2 = a / (2^2)
 ~ a = -(a) + (-1)

但我不知道&gt;&gt;&gt;,&amp;,|和^做。 任何人都可以帮助我。

1 个答案:

答案 0 :(得分:1)

签名左移运算符“&lt;&lt;”将位模式向左移位,并使用带符号的右移运算符“&gt;&gt;”将位模式向右移动。位模式由左侧操作数给出,位置数由右侧操作数移位。

无符号右移运算符“&gt;&gt;&gt;”将零移至最左侧的位置,而在“&gt;&gt;”之后的最左侧位置移位取决于签名扩展

按位&amp;运算符执行按位AND运算。

bitwise ^运算符执行按位异或运算。

按位|运算符执行按位包含OR运算。

Code example

Logic gates

Operator Precedence

See more

例如:a&lt;&lt; 2 = a *(2 ^ 2); //它在JAVA中无法编译。