位运算符
作者:互联网
Java 定义的位运算(bitwise operators)直接对整数类型的位进行操作,这些整数类型包括 long,int,short,char 和 byte。【&和|应用在布尔值上时,也会得到一个布尔值,和&&,||很类似,不过不采用“短路”方式来求值】
位运算符主要用来对操作数二进制的位进行运算。按位运算表示按每个二进制位(bit)进行计算,其操作数和运算结果都是整型值。
这意味着可使用掩码技术得到整数中的各个位。
-
Java 语言中的位运算符分为位逻辑运算符和位移运算符
-
位逻辑运算符包含 4 个:&(与)、|(或)、~(非)和 ^(异或)。除了 ~(即位取反)为单目运算符外,其余都为双目运算符。下表列出了它们的基本用法。
运算符 含义 实例 结果 & 按位进行与运算(AND) 4 & 5 4 | 按位进行或运算(OR) 4 | 5 5 ^ 按位进行异或运算(XOR) 4 ^ 5 1 ~ 按位进行取反运算(NOT) ~ 4 -5 -
位逻辑运算符详细解释
-
位与运算符
位与运算符为
&
,其运算规则是:参与运算的数字,低位对齐,高位不足的补零,如果对应的二进制位同时为 1,那么计算结果才为 1,否则为 0。因此,任何数与 0 进行按位与运算,其结果都为 0。 -
位或运算符
位或运算符为
|
,其运算规则是:参与运算的数字,低位对齐,高位不足的补零。如果对应的二进制位只要有一个为 1,那么结果就为 1;如果对应的二进制位都为 0,结果才为 0。 -
位异或运算符
位异或运算符为
^
,其运算规则是:参与运算的数字,低位对齐,高位不足的补零,如果对应的二进制位相同(同时为 0 或同时为 1)时,结果为 0;如果对应的二进制位不相同,结果则为 1。 -
位取反运算符
位取反运算符为
~
,其运算规则是:只对一个操作数进行运算,将操作数二进制中的 1 改为 0,0 改为 1。
-
-
位移运算符
-
所有的二进制位运算符都有一种将赋值与位运算组合在一起的简写形式。复合位赋值运算符由赋值运算符与位逻辑运算符和位移运算符组合而成。表 3 列出了组合后的复合位赋值运算符。
运算符 含义 实例 结果 &= 按位与赋值 num1 &= num2 等价于 num 1=num 1 & num2 |= 按位或赋值 num1 |= num2 等价于 num 1=num 1 | num2 ^= 按位异或赋值 num1 ^= num2 等价于 num 1=num 1 ^ num2 -= 按位取反赋值 num1 -= num2 等价于 num 1=num 1 - num2 «= 按位左移赋值 num1 «= num2 等价于 num 1=num 1 « num2 »= 按位右移赋值 num1 »= num2 等价于 num 1=num 1 » num2
标签:运算,num2,运算符,num,按位,赋值 来源: https://www.cnblogs.com/yu-zexin/p/16589605.html