补码的秘密之四--补码的来源和意义

说到补码,总会有人想到:机器数符号位原码反码取反加一真值模 ... 。

其实,这些故弄虚玄的词汇,都是毫无用处的。

讨论补码的来源,仅仅需要小学的知识。

如果限定,只使用两位十进制数:0 ~ 99,那么,-1 就可用 +99 代替。

你看吧:

  25 - 1 = 24

  25 + 99 = (进位 1) 24

只取两位数,舍弃进位,结果就是相同的。

而且,减法和加法运算,功能也是相同的。

+99,就可称为-1 的补数。(二进制时,就叫做补码。

+98,就是-2 的补数。

...

---------------------------

使用了补码之后,在计算机中,就没有负数了。

同时,也就没有了减法运算。

计算机,只须配置一个加法器,便可横行天下。

这就是【补码的意义】。

---------------------------

那么,14 - 14 = 0,计算机将怎么计算呢?

用八位二进制计算如下:

  0000 1110 + xxxx xxxx = 0000 0000。

其中的 xxxx xxxx,就是【-14 的八位补码】。

这个 xxxx xxxx 究竟是什么?

你就推导一下吧。

先移项:xxxx xxxx = 0000 0000-0000 1110。

可得出:xxxx xxxx = (借位 1) 1111 0010。

取八位:xxxx xxxx = 1111 0010。

因此,[-14]八位补码 = 1111 0010。

负数的补码,就是这么来的。

---------------------------

实际上,任意负数(-X)的补码,都是:0 - X。

你用二进制简单算一下,立刻就能得到结果。

(-128 的 8 位补码,也就是这样求出来的。)

同理,任意正数(+X)的补码,也都是:0 + X。

这还用算? 0 + X,不就是 X 吗?

即,正数的补码,就是 X 本身!

求补码,就是这么简单!

---------------------------

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

就是一滩垃圾。

学完了这些,也不可能理解为什么 “减法能变加法” !

书上所写的这些,都是没有任何意义的。

计算机专家编造这些瞎话,不过就是:

【勾栏从来扮高雅,拿来鞋拔当如意】而已。

本文完。

  • 6
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 14
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 14
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值