位运算符
java中有4个位运算符,分别是“按位与&、按位或|、按位异或^、按位取反~”,他们的运算规则是:
按位与& : 两位全为1,结果为1
按位或| : 两位一个为1,结果为1
按位异或^ : 两位一个为0,一个为1,结果为1
按位取反~ : 0 -> 1 , 1 -> 0
实例
~2 = -3
源码:00000010
反码:11111101(最高位也取反)
补码:11111100 (-1)
反码:10000011(最高位不取反)
所有得-3
//如果是复数记得先把源码转成补码
2&3 = 2
2|3 = 3
2^3 = 1
移位运算
java中有3个移位运算符,分别为是算术右移>>、算术左移<<、逻辑右移>>>,运算规则:
算术右移:低位溢出,符号位不变,并用符号位补溢出的高位
算术左移:符合为不变,低位补0
逻辑右移:低位溢出,高位补0
实例
1>>2 = 0
1<<2 = 4
3>>>2 = 0
原文:https://www.cnblogs.com/beekc/p/12379912.html