原码:数据的二进制
反码:
正数反码就是它的原码
负数的反码就是它原码的除符号位外,其它位按位求反
补码:
正数补码就是它的原码
负数的补码是它的反码+1
注意:内存中所有数据的存储都是以补码形式存储的
负数转换成二进制
1、符号位不变,其余按位求反,得到反码
2、反码+1得到补码
原码:1111 1111
反码:1000 0000
补码:1000 0001
补码转数据:
无符号补码直接转换成十进制
有符号最高位是0,说明是正数,也直接转换成十进制
有符号且最高位是1:
1、补码-1得到反码
2、符号位不变,其它位按位求反得到原码
3、原码转换成十进制数据
1111 1111 补码 有符号
1111 1110 反码
1000