1)原码,反码,补码
1.二进制的最高位,是符号位,0表示整数,1表示负数
例子:
1 ==》 0000 0001 -1==》 1000 0001
2.正数的原码,反码,补码都是一样的
例子:
1==》原码:0000 0001 反码 0000 0001 补码 0000 0001
3。负数的原码,反码,补码
例子:
负数的原码
例子:
-1==》 1000 0001
负数的反码【它的原码符号位不变,其他位取反(0取1,1取0)】
例子:
-1的原码1000 0001 反码是1111 1110
负数的补码【它的反码加1】
例子:
-1的反码是1111 1110 他的补码是 1111 1111
说明:-1原码【1000 0001】反码【1111 1110】补码【1111 1111】
2)位移运算(位与&,位非|,位异或^)
位与& 对比的两个二进制,两位全是1,结果为1,否则为0
位非| 对比的两个二进制,两位有一个是1,结果为1,否则为0
位异或^ 对比的两个二进制,两位有一个0,一个是1 ,结果为1,否则为0
例子:2&3=? 2|3=?2^3=?-2^2=?
3)位运算符(>>右位移,<< 左位移)
1,>>右位移(低位溢出,符号位不变,并用符号位补溢出的高位)
例子:a := 1 >> 2 // 0000 0001 想右移两位 0000 000001 取8为0000 0000 结果就是0
2,<<左位移(符号位不变,低位补0)
例子:c := 1 << 2 // 0000 0001 想左移两位 0000 0100 结果就是4
1471

被折叠的 条评论
为什么被折叠?



