在计算机中,数值都是以二进制的反码还是补码还是原码的形式参加算术运算的。
在计算机系统中,数值,一律采用补码表示和存储。
计算机,并不使用原码和反码。
补码,其实就是一个“代替负数”的正数。
使用了补码,计算机中就没有负数了。简大
同时,计算机中,也就没有减法运算了。
那么,计算机中只丛咐岁需配置一个加法器,就可以打遍天下了。
原码和反码,都不具备这种功能。
所以,在计算机中,它们都是不存在的。
----------------------
补码(正数)怎么能代替负数呢?
用十进制解释,比较容易理解。
限定,只使用 2 位 10 进制数,可以有:
25 - 1 = 24
25 + 99 = (一百) 24
进位一百(10^2),是超出 2 位数的,就舍弃了吧。
那么:
+99 就可以代替-1 了。
减法,也就被加法代替了。
此时,+99 就称为-1 的补数。
同理,+98,就是-2 的补数。
。。。
求补数的公式是:补数 = 负数 + 10^n。
式中:n 是补数的位数。
10^n,是 n 位数的计数周期。
------------------------
计算机中,用二进制,补数,就改称为:补码。
一个字节是 8 位 2 进制数。
数值范围是:0000 0000 ~ 1111 1111(十进制255)。
计数周期是:2^8 = 256。
在这 256 个代码中,可以容纳 128 个负数。
求补码的公式: 补码 = 负数 + 2^8。
-1 的补码就是:-1 + 2^8 = 255 = 1111 1111(二进制)。
-2 的补码就是:-2 + 2^8 = 254 = 1111 1110。
。。。
-128 的补码:-128 + 256 = 128 = 1000 0000。
------------------渗睁------
在计算机系统中,数值,一律采用补码表示和存储。
数值,和补码,可以直接换算。
并不需要“原码反码符号位取反加一符号位不变”。
老外的数学不好,才整出那么些个啰嗦事。