相对于原码和反码,补码表示法有什么优点和缺点
在计算机系统中,正负数值,一律采用补码来表示和储存。
原码和反码,在计算机中,都是不存在的。
补码,是一个【代替负数运算的正数】。
利用补码,减法就可以用加法运算代替了。
计算机中,只要配置一个加法器,就可以了。
原码和反码,都没有这种功能,所以,计算机中不使用它们。
----------------------
正数,怎么就能代替负数呢?
且看 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
舍弃进位,结果,就完全正确。
----------------------
补码,就是补码,与原码反码毫无关系。
从取反加一来学习补码,就不能理解补码的意义。
相对于原码和反码,补码表示法有什么优点和缺点
-----------------------
优点:
用补码代表带符号数之后,带符号数的加法运算方法,与无符号数的算法,就是完全相芹碰同的。 所以,带符号数、无符号数,就可以共用同一个加法器。 而原码和反码,胡李它们嫌做谈根本就没有计算功能。如果硬要用它们做计算,就必须为其特制一种加法器。
缺点:
用补码代表带符号数,许多初学者看不懂。 没有原码直观。