整数的2进制表示方法有三种,原码 反码 补码
2进制中,最高位的1位被当作符号位,剩余的都是数值位
符号位都是用0表示“正”,用1表示“负”。
正整数的原码。反码。补码都相同
负整数的三种表示方法各不相同
原码:将数值按照正负数的形式转成二进制得到
反码:原码的符号位不变,其他位次按位取反得到
补码:反码+1
反码得到原码可以使用:取反,+1的方法
举例说明:
将-5转成二进制的补码
5转化为二进制:00000101
-5:10000101
反码:11111010
补码:11111011
对于整型来说,数据存放中其实存放的是补码,使用补码可以将符号位和数值域统一处理;同时加减法也可以统一处理(cpu只有加法器),此外,补码与原码相互转换,其运算过程是相同的,不需要额外的硬件电路。