原码 反码(取反) 补码(+1)
负数用补码表示
8 -00001000(原码)-01110111(反码)-01111110(补码)
原码转补码 取反+1
补码转原码 取反+1
——————————————————————————–
位运算:
&(与):遇0则0
|(或):遇1则1
^(异或):加法不进位
1 010 ^ 111
2 第一位:0+1=1
3 第二位:1+1=0
4 第三位:0+1=1
5 所以最后结果:101
~(取反):0变1,1变0
>>(带符号右移):左边补符号位
<<(左移):不带符号左移
>>>(不带符号右移):左边补0
1 a和b交换 2 a=a^b 3 b=a^b 4 a=a^b
a/2 等同于 a>>1
a*2 等同于 a<<1