5365bet手机版客户端

【计算机组成原理】——原码,反码,补码,移码怎样计算

【计算机组成原理】——原码,反码,补码,移码怎样计算

做而论道_CS:

在计算机系统中,只有由高电平低电平构成的二进制数。既没有小数点,也没有正负号。

所以,计算机中。只有二进制的自然数(即零和正整数)。

计算机专家,就称之为:无符号数。

世界上的各种信息,存入计算机后,就都是【无符号数】了。

也即:都是【正整数】!

负数,是怎么表示的呢?

按十进制来说,就容易理解了。

两位十进制是:0~99,出现进位 1,就是一百(=10^2)。

随便做一个加法,如:27 + 99 = (一百) 26。

如果你弄丢了进位,无形中,就是减去了 100!

即使你再加上 99,它也就:-1。

此时,加法,就成了减法:27-1 = 26。

+99 可以当做-1 ! 看明白了吗?

关键是:运算时,舍弃了进位!

舍弃了进位 1,无符号的正数,就能当做负数使用!

舍弃进位,才是【补码】的来历。

二进制数,也是同样的道理。

八位二进制是:0000 0000~1111 11111 (= 十进制 255)。

出现了进位,就是 256(=2^8)。

那么,加法:27 + 255 = (进位 1,即 256) 26。

丢了进位,即减去了 256,再加 255,当然也就是:-1。

此时的加法,也就成了减法:27-1 = 26。

计算机中,只有正整数。也可以说是:无符号数。

所谓的 “有符号数”,也都是用无符号数进行保存和计算的。

只不过,在计算时,忽略了进位而已。

那么,负数存入计算机时,先要做这种变换:

补码=2^n+该负数。

就是说:

存放负数时,先加上一个进位 2^n,就成了 “补码”。

以后在进行计算时,再把这个进位舍弃掉,就平衡了。

由此可知,所谓的补码,并非是来自:

机器数真值符号位原码反码取反加一符号位不变。。。

这些,你就是都背熟了会用了,你也不可能知道:

减法是从哪里来的!

计算机老师讲的这些,就和刘谦变戏法一样:

都是忽悠,一句真话也没有!

但是,刘谦变的戏法,第二天就会有人揭秘。

而计算机老师所说的补码,许多年来,也没有露馅啊!

并且,还把这些,列入到考研的内容中。

这么多年,也不知道忽悠瘸了多少硕士博士!