Java中的运算符,主要是针对二进制位进行运算,所谓的二进制位,它是二进制记数系统中表示小于2的整数的符号,一般用1或 0表示,其中最高位与数值的正负有关,以最常用的int为例
都知道int的取值范围是
-2147483648~2147483647
-2147483648=0b10000000000000000000000000000000
2147483647=0b01111111111111111111111111111111
使用场景举例:可结合位移的知识点用于权限、功能开关等功能的控制,如此一来可提高代码的可读性
与运算符:&
&表示与运算符,运算规则:两个操作数中位都为1,结果才为1,否则结果为0
如三个int值分别为a=1,b=2,c=3,其二进制位分别表示为(数值较小,为了方便,取低八位作为显示)a=0b00000001,b=0b00000010,c=0b00000011
a&b=0,计算过程如下

b&c=2,计算过程如下

或运算符:|
|表示或运算符,运算规则:两个操作数中位只要有一个为1,结果就为1,否则结果为0
a|b=3,计算过程如下

非运算符:~
~表示非运算符,运算规则:即在0与1进行取反,如操作数中位为1,那么结果就为0,反之,如果操作数中位为0,则结果为1
~a=-2

异或运算符:^
^表示非运算符,运算规则:两个操作数的位中,相同则结果为0,不同则结果为1
a^c=-2

1224

被折叠的 条评论
为什么被折叠?



