计算机在操作的时候,都是采用数据对应的二进制补码来计算的
1. 定义
有符号数据的表示法: 原码 ,反码,补码
一 原码 : 二进制定点表示法,即最高位为符号位,“0”表示正,“1”表示负,其余位表示数值的大小。
所以 原码有两部分组成 : 符号位 数值
例子: 原码 ,反码,补码 分别表示 +7和 -7
7的二进制 : 00000111 -> 111
正数的原码最高位是 0
负数的原码最高位是 1
原码 :
正数的原码最高位是 0
负数的原码最高位是 1 ,
其他是数值位。
符号位 数值
+7 0 0000111
-7 1 0000111
二 反码 : 正数的反码与其原码相同;负数的反码是对其原码逐位取反,但符号位除外。
正数的反码与原码相同 。
负数的反码与原码的符号位是不变得,数值位取反,就是1变0,0变1;
符号位 数值
+7 0 0000111
-7 1 1111000
三 补码 :正数的补码与其原码相同;负数的补码是在其反码的末位加1。
正数的补码与原码相同
负数的补码的反码的基础上加1
符号位 数值
+7 0 0000111
-7 1 1111001(加1之后再判断符号位有无改变)
例题 :
已知某数X的原码为 10110100B 试求X的补码和反码
解: 原码
符号位 数值
1(负数) 0110100
反码
符号位 数值
1 1001011(跟原码数值相反)
补码
符号位 数值
1 1001100