为什么正数的补码是它本身

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

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

补码,其实,这就是一个“代替负数”的正数。

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

同时,在计算机中,也就没有减法运算了。

所以,利用补码,就能够把加减法,统一为加法运算。

使用补码的目的,就是:简化计算机的硬件。

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

补码(一个正数),怎么就能代替负数呢?

你看时针,倒拨 3 小时,可以用正拨 9 小时代替吧?

你看三角函数-π/2、+3π/2,正负两种角度,功能也是相同的吧?

10 进制数,如果限定只用 2 位,那么会有:

   25 - 1 = 24

   25 + 99 = (一百) 24

如果忽略进位一百(10^2),+99,就可以代替-1。

 

以上所说的这些正数,就是“负数的补数”。

求补数的公式,是: 补数(即正数)= 负数 + 周期。

而正数,不用变换,也不允许变换。必须直接参加运算。

所以,正数,它就没有补数。

也有人随口乱讲:正数,它本身就是补数。

其实,正数,只是不许变换而已,并非是说它们就是。

唉,这些人,基本概念不清啊!

跟他们较真,也没有用的。

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

计算机用二进制,那就称为补码了。

8 位 2 进制,周期是:2^8 = 256。

-1 的补码,是:-1 + 256 = 255 = 1111 1111(二进制)。

-2 的补码,是:254 = 1111 1110。

。。。

-128 的补码是:128 = 1000 0000。

由此,就可以导出补码的定义式:

 X >= 0,  [ X ]补 = X;     零和正数不用变换。

 X < 0,  [ X ]补 = X + 2^n。 n 是补码的位数。

这公式,是通用的。 书上,也有的,你去翻翻书吧。

按照公式求补码,是极为简便的,而且还能理解补码的意义。

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

那么,这些“原码反码取反加一符号位不变”是咋回事?

因为:

第一,老外的数学不好,弄出这些“隔路”的花样。

第二,国内计算机专业老师的脑子不好,跟着老外混口饭吃。

仅此而已。

张简广英权甲
2019-01-19 · TA获得超过3.6万个赞
知道大有可为答主
回答量:1.2万
采纳率:28%
帮助的人:974万
展开全部
是的。
正数
的补马和原马一样,补码的补码还是原马。
负数

补马是
原马的反马加1,把补码当原马

求反加1
就回到原马。
例如
原马

10000001,反马1111
1110,加
1
等于
1111
1111。
反马
1000
0000,加1,回到
1000
0001。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
沙里波特
2024-11-27 · TA获得超过5251个赞
知道大有可为答主
回答量:1.1万
采纳率:95%
帮助的人:640万
展开全部

为什么正数的补码是它本身

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

这是可以证明的啊!

你先随便写一个负数的补码,以此再求它的正数的补码。

就会看出,正数的补码,就是该正数。

比如,-8 的八位补码是:1111 1000。

利用:[-X ]补码 = [ 0 ]补码 - [ X ]补码,

你就能求出+8 的补码是:0000 1000。

这个 0000 1000,正是 +8 这个数本身。

由此得证。


已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式