位运算
~:取反NOT
&:与AND
|:或OR
^:异或EXCLUSIVE-OR
逻辑运算
&&:AND
||:OR
!:NOT
移位运算
<<:左移
>>:算术右移(右边补最高位的值,故非负数右边补0,负数右边补1)
>>>:(Java)逻辑右移(右边补0)
原码 sign-magnitude:+0 [0000]、-0[1000]
反码 binary to ones’ complement:+0[0000]、-0[1111]
补码 binary to two’s complement:0[0000]
他们是三种数的表示方法,对于正整数的表示方法均一致。
|
原码 |
反码 |
补码 |
1 |
0001 |
0001 |
0001 |
-1 |
1001 |
1110 |
1111 |
对于正整数x,-x的表示方式为(在x的基础上):
原码:最高位置为1;
反码:各位取反([1111]-x);
补码:各位取反后,再加1(2的w次方-1)。