1、位异或(^)
运算规则:两个数转为二进制,然后从高位开始比较,如果相同则为0,不相同则为1。
例如:3^5
3的二进制:0011
5的二进制:0101
计算结果二进制:0110 十进制:6
2、位与(&)
运算规则:两个数都转为二进制,然后从高位开始比较,如果两个数都为1则为1,否则为0。
例如:3&5
3的二进制:0011
5的二进制:0101
计算结果二进制:0001 十进制:1
3、位或(|)
运算规则:两个数都转为二进制,然后从高位开始比较,两个数只要有一个为1则为1,否则就为0。
例如:3|5
3的二进制:0011
5的二进制:0101
计算结果二进制:0111 十进制:7
4、位非(~)Java位非~运算符详解
运算规则:将每一位取反 。
例如:~3
3的二进制:00000000 00000000 00000000 00000011
取反:11111111 11111111 11111111 11111100
结果原码(符号位不变取反+1):10000000 00000000 00000000 00001101
十进制:-13
5、左移(<<)
运算规则:二进制左移两位,低位补0。
例如:3<<2
3的二进制:0011
计算结果二进制:1100 十进制:12
6、右移(>>)
运算规则:二进制右移两位,高位补0。
例如:3<<2
3的二进制:0011
计算结果二进制:0000 十进制:0
7、int类型占4个字节,一个字节8位,二进制最高位为符号位,1为负数0为正数。
8、反码:正数的反码和原码相同,负数的反码是原码除最高位外取反(0变1,1变0)。
9、补码:正数的补码与原码相同,负数的补码是原码-1,取反。