java 位运算
1 2 3 4 5 6 7 | 要将十进制的-10用二进制表示,先将10用二进制表示:0000 0000 0000 1010取反:1111 1111 1111 0101加1:1111 1111 1111 0110所以,-10的二进制表示就是:1111 1111 1111 0110 |
1 2 3 4 5 6 | 将10与-10进行按位与(&)运算:0000 0000 0000 10101111 1111 1111 0110-----------------------0000 0000 0000 0010所以:10 & -10 = 0000 0000 0000 0010 |
1 2 3 4 5 6 | 将10与-10进行按位或(|)运算:0000 0000 0000 10101111 1111 1111 0110-----------------------1111 1111 1111 1110所以:10 | -10 = 1111 1111 1111 1110 |
1 2 3 4 5 6 | 将10与-10进行按位异或(^)运算:0000 0000 0000 10101111 1111 1111 0110-----------------------1111 1111 1111 1100所以:10 ^ -10 = 1111 1111 1111 1100 |
1 2 3 | a = a ^ b;b = b ^ a;a = a ^ b; |
1 2 3 4 5 | 对10进行取反(~)运算:0000 0000 0000 1010---------------------1111 1111 1111 0101所以:~10 = 1111 1111 1111 0101 |
1 2 3 4 5 | 对10左移2位(就相当于在右边加2个0):0000 0000 0000 1010--------------------0000 0000 0010 1000所以:10 << 2 = 0000 0000 0010 1000 = 40 |
1 2 3 4 5 | 对10右移2位(就相当于在左边加2个0):0000 0000 0000 1010--------------------0000 0000 0000 0010所以:10 >> 2 = 0000 0000 0000 0010 = 2 |
若转载请注明出处!若有疑问,请回复交流!

浙公网安备 33010602011771号