有符号的数据表示法:原码,反码,补码
计算机内数据的运算都是采用对应二进制数据的补码进行的
原码,反码,补码都是由符号位和数值位组成
原码:
正数的原码最高位是0
负数的原码最高位是1
其他的是数值位
符号位 数值位
+7 0 0000111
-7 1 0000111
反码:
正数的反码与原码相同
负数的反码与原码符号位相同,数值位取反
符号位 数值位
+7 0 0000111
-7 1 1111000
补码:
正数的补码与原码相同
负数的补码是在反码的基础上加1,所以符号位有可能会发生变化
符号位 数值位
+7 0 0000111
-7 1 1111001
测试:
A:已知某数X的原码为10110100B,试求X的补码和反码。
原码为10110100B,说明是此数据是一个为负的二进制数
负数的反码是与原码符号位相同,数值位取反,即11001011B
负数的补码是其反码加1,即11001011+1=11001100B
B:已知某数X的补码11101110B,试求其原码。
符号位 数值位
补码 1 1101110
反码 1 1101101
原码 1 0010010
|
|