微型计算机中的数为什么常用补码表示
先得学会“补数”,才能理解“补码”。
时钟的分针,有 60 个数字,倒拨 20 分,可以用正拨 40 分代替。
限用两位十进制数,就共有 100 个数字。
此时,减一,你可以用 +99 代替:
25-1 = 24
25 + 99 = (1) 24
只取两位数,两种算法的结果,就是相同的。
99,就是-1 的补数。
98,就是-2 的补数。
。。。
利用补数,就可把减法,转化成加法运算。
-----------
在计算机中,使用二进制,称为代码。
八位二进制代码,称为一个字节。
即:0000 0000~1111 1111,写成十进制:0~255。
共有 (2 的 8 次方 = 256) 组代码。
那么,1111 1111 (=255),就是-1 的补码。
同理,1111 1110 (=254),就是-2 的补码。
。。。
求负数补码的公式,就是:【2 的 n 次方+这个负数】。
求补码,并不需要“原码反码符号位”这些无用的知识。
------
使用补码,就可把减法,转化成加法运算。
那么,在计算机中,有一个加法器,就可以计算加减法了。
因此,就节省了硬件。
这就是“计算机中的数为什么常用补码表示”的道理。
计算机中的数值用机器数来表示及运算,而这个数本身称作真值。
机器数包括:原码、反码、补码、移码、……
.
机器数用补码表示的好处:
原码简单,适用于乘除运算,但用原码表示的数进行加减法运算比较复杂。
补码,减法运算可以用加法来实现,例如 [X-Y]补 = [X]补 +[-Y]补,
且数的符号位也可以当作数值一样参与运算,便于运算结果的正负及是否溢出判断。
因此在计算机中大都采用补码来进行加减及乘除运算。
就是为了:简化硬件,省钱。
因为,负数,是可以用一个正数(补码)代替的。
如: 24 - 1 = 23
24 + 99 = (一百) 23
忽略进位,用 +99 就可以代替-1。
+99 称为-1 的补数。 计算机用二进制,就称为:补码。
那么,借助于补码,就可以,把减法转换为加法运算。
因此,在计算机中,只需设置一个加法器,便可加减通吃了。