位运算
java中有4个位运算,分别是“按位与&、按位或|、按位异或^、按位取反~”,他们的运算规则是:
- 按位与&:两位全为1,结果为1
- 按位或|:两位有一个为1,结果为1
- 按位异或^:两位一个为0,一个为1,结果为1
- 按位取反~:(对于有符号数,包括符号位在内)0=>1,1=>0
比如:2&3=2 2|3=3 2^3=1 ~2=-3
移位运算
java中有3个移位运算符:
>>、<< 算术右移和算术左移,运算规则:
算术右移:低位溢出,符号位不变,并用符号位补溢出的高位
算术左移:符号位不变,低位补0
>>> 逻辑右移,运算规则是:低位溢出,高位补0
比如,-1>>2=-1,1<<2=4,3>>>1=1
注意
计算机中的运算都是补码运算