负数的原码、反码、补码怎么表示?
在计算机系统中,数值,一律采用补码表示和存储。
计算机中,根本就不用原码和反码。
---------------------
补码,实际上,就是一个“代替负数”的正数。
使用了补码之后,计算机中,就没有负数了。
同时,也就没有减法运算了。
只要配置一个加法器,计算机,就能横行天下了。
这就是补码的作用。
---------------------
补码(一个正数),怎么就能代替负数呢?
想一想周期性的规律吧。
比如, 2 位 10 进制数(0~99),计数周期就是 10^2=100。
可有: 25 - 1 = 24
25 + 99 = (一百) 24
只要你舍弃进位,只保留 2 位数,+99 就能代替-1 !
而且,加法,也能代替减法运算!
同样,+98 也可以代替-2。
。。。
这些代替负数的正数,就称为“负数的补数”。
求补数的公式,显然就是:
补数 = 负数 + 10^n
式中:n 是补数的位数。
10^n,是 n 位 10 进制数的周期。
这公式,在三角函数中,也有雷同的表现。
三角函数,是以 2π 为周期的。
任何负角度,加上周期,就可以转换为正角度。
如:x =-π/2,与其等效的正角度,即为:
x =-π/2 + 2π = +3π/2
-------------------
在计算机中,也可以使用“补数”。
计算机大佬为了标新立异,故弄虚玄,就称为:补码。
求负数的补码,公式,仍然是:
补码 = 负数 + 计数周期 (2^n),n 是补码的位数。
一个字节,有 8 位 2 进制数,计数周期就是 2^8 = 256。
那么,
-1 的补码就是 255 = 1111 1111 (二进制);
-2 的补码就是 254 = 1111 1110 (二进制);
。。。
-128 的补码就是 128 = 1000 0000 (二进制)。
正数,不用转换,也不许做任何转换,必须直接去参加算。
所以,零和正数,并没有补码。
-------------------
求补码,不需要“符号位原码反码取反加一符号位不变”。
那一大堆步骤,并没有什么数学理论依据。
数学不好的老外,弄不懂“周期、等效”,才用那些骚操作。
计算机专业老师水平太低、盲目跟风,骗人骗己。
让大家学了这些,一丁点用处,也都没有的。