微型计算机中的数为什么常用补码表示
借助于补码,可以把负数转换成正数,这就可以用加法,代替减法运算。
因此,就可以简化计算机的硬件。
计算机中,所运算的位数,是固定的,如八位机、16 位机。。。
位数限定之后,加减法,就可以互换。
如两位在十进制时,-1 就可以用 +99 代替。
24 - 1 = 23
24 + 99 = (1) 23
只取两位,这两种算法,结果相同。
同样道理,时钟倒拨 3 小时,可用正拨 9 小时代替。
分针倒拨 X 分,可用正拨 (60-X) 代替。
负数所对应的正数,称为:补数。
求补数,就要用到计数系统的【周期】。
上面用的周期,分别是:一百、12、60。
知道了周期,负数的补数,小学生都会求。
--------------------
计算机用二进制,补数,就称为:补码。
八位二进制是:0000 0000~1111 1111(十进制 255)。
共有 256 组代码。
所以,八位二进制数的计数周期,就是:256 = 2^8。
在 256 个补码中,有 128 个负数:-1 ~ -128。
-1 的补码就是:256-1 = 255(二进制 1111 1111)。
-2 的补码就是:256-2 = 254(二进制 1111 1110)。
。。。
求补码,千万别用“原码反码取反加一”,这些都是误导。
学原码反码符号位这些垃圾,你就弄不懂补码的意义。
也就不知道,为什么计算机要使用补码,而不用原码和反码。
补码,是小学生都能弄懂的知识,计算机专家却偏偏说不明白。
计算机中的数值用机器数来表示及运算,而这个数本身称作真值。
机器数包括:原码、反码、补码、移码、……
.
机器数用补码表示的好处:
原码简单,适用于乘除运算,但用原码表示的数进行加减法运算比较复杂。
补码,减法运算可以用加法来实现,例如
[X-Y]补
=
[X]补
+[-Y]补,
且数的符号位也可以当作数值一样参与运算,便于运算结果的正负及是否溢出判断。
因此在计算机中大都采用补码来进行加减及乘除运算。
就是因为补码好用。
用别的码?
好用不好用,你可以试试看。