相对于原码和反码,补码表示法有什么优点和缺点
负数:
原码: -(绝对值原码)
反码: 原码除符号位外取反
补码: 反码+1
1.
原码表示方法的优点,是在数的真值和它的原码表示之间的对应关系简单,相互转换容易,用原码实现乘除运算的规则简单.缺点是用原码实现加减运算很不方便.要比较参与加减运算两个数的符号,要比较两个数的绝对值的大小,还要确定运算结果的正确的符号等,因此在计算机中经常用后面介绍的补码实现加减运算.
2. 补码的设计目的是: ⑴使符号位能与有效值部分一起参加运算,从而简化运算规则.⑵使减法运算转换为加法运算,进一步简化计算机中运算器的线路设计.
3.用反码实现算术运算不方便,0值又有两个编码,用得不很普遍.
2019-11-29 广告
原码和反码,在计算机中,都是不存在的。
补码,是一个【代替负数运算的正数】。
利用补码,减法就可以用加法运算代替了。
计算机中,只要配置一个加法器,就可以了。
原码和反码,都没有这种功能,所以,计算机中不使用它们。
----------------------
正数,怎么就能代替负数呢?
且看 2 位 10 进制:
25 - 1 = 24
25 + 99 = (一百) 24
只要舍弃进位,+99 就能当做-1。
+99 就称为-1 的补数。
计算公式: 补数 = 负数 + 10^n
n 是位数。
----------------------
计算机用二进制,补数,就改称为:补码。
8 位 2 进制的范围:0000 0000~1111 1111(十进制 255)。
求补码的计算公式:
负数的补码 = 负数 + 2^8 = 负数 + 256。
正数,不需任何变换,直接就可以进行计算。
-1 的补码是:-1 + 256 = 255 = 1111 1111。
-2 的补码是:-2 + 256 = 254 = 1111 1110。
。。。
-128 的补码是: 128 = 1000 0000。
----------------------
运算实例: 7 - 2 = 5,用补码计算如下:
7 = 0000 0111
-2 的补码 = 1111 1110
---相加-----------
得:(1) 0000 0101 = 5
舍弃进位,结果,就完全正确。
----------------------
补码,就是补码,与原码反码毫无关系。
从取反加一来学习补码,就不能理解补码的意义。
(1)减法运算可以用加法来实现,即用求和来代替求差。
(2)数的符号位可以同数值部分作为一个整体参与运算。
(3)两数的补码之和(差)=两数和(差)的补码
发错了