- 正数的原码反码补码都相同
- 负数的原码与正数原码相同,但最高位为1
- 负数反码为其原码除最高位外,按位取反,0变1,1变0
- 负数补码为反码个位加1
位运算
&按位与
- 参与运算的两数各对应的二进位相与。只有对应的两个二进位均为1时,结果位才为1 ,否则为0。参与运算的数以补码方式出现
- 5&3=1
|按位或
- 只要对应的二个二进位有一个为1时,结果位就为1。参与运算的两个数均以补码出现。
- 6|3=7
^按位异或
- 其功能是参与运算的两数各对应的二进位相异或,当两对应的二进位相异时,结果为1。参与运算数仍以补码出现
- 9^5=12
~取反
- 其功能是对参与运算的数的各二进位按位求反
<<左移
- 左边的运算数的各二进位全部左移若干位,由“<<”右边的数指定移动的位数, 高位丢弃,低位补0。 其值相当于乘2
- 3<<2=12
>>右移
- 左边的运算数的各二进位全部右移若干位,“>>”右边的数指定移动的位数。其值相当于除2
- 6>>1=3