为什么计算机中的数值都是补码表示和存储的呢?

 我来答
做而论道
高能答主

2023-01-14 · 把复杂的事情简单说给你听
知道大有可为答主
回答量:3万
采纳率:80%
帮助的人:1.1亿
展开全部

补码,是一个“与负数等效”的正数。

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

你如果学过三角函数,就知道,三角函数的周期是 T = 2π。

任何负的角度,加上周期 2nπ,都能得到:等效的正角度。

比如,-π/2,与其等效的,就是:+3π/2。

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

2 位的 10 进制数,是:0 ~ 99。

其计数周期就是:T = 10^2 = 100。

此时,可以有:

  25 - 1 = 24

  25 + 99 = (一百) 24

你只要舍弃进位,只保留 2 位数,+99 就和-1 等效。

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

8 位 2 进制数,是:0000 0000~1111 1111。

(对应的十进制是:0 ~ 255。)

其计数周期就是:T = 2^8 = 256。

任何负数,加上 nT,都能换算成与其等效的正数。

-1 的等效值,就是:-1 + 256 = 255 = 1111 1111。

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

正常计算,可以这样做: 1 - 1 = 0。

用等效的正数计算,即: 1 + 1111 1111 = (1) 0000 0000。

你舍弃进位,只保留 8 位,这两种算法,效果就是相同的。

按照这样做,就消除了负数,并且,加法,也就代替了减法。

计算机的硬件,也就可以简化了。

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

这个“代替负数”的正数,就是计算机专业中的“补码”。

计算机专家,数学底子太洼,搞不懂什么是周期特性。

就自己胡编乱造:“符号位原码反码取反加一符号位不变”。

老外的算术能力差,想不出更好的办法。

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式