正数的原码、反码、补码是相同的吗?

 我来答
惠企百科
2022-12-11 · 百度认证:北京惠企网络技术有限公司官方账号
惠企百科
惠企百科网是一家科普类综合网站,关注热门中文知识,集聚互联网精华中文知识,本着自由开放、分享价值的基本原则,向广大网友提供专业的中文知识平台。
向TA提问
展开全部

相同的,正数的原码=反码=补码。引进补码的作用是为了让计算机更方便做减法。

例如:按时间12个小时来算,现在的准确时间是4点,有一个表显示的是7点,如果要校准时间,我们可以将时针退7-4=3格,也可以向前拨12-3=9格,计算机做减法就可以转化成-3=+9,这样可以简化计算机的硬件设备去做复杂的减法。

然而得到补码的定义:正数时仍为正,而负数x求补要从2减去|x|。本就为了简化减法引进的补码,结果在求补的过程中还是出现减法。这样,再引进了反码表示法方便求补。补码反码就是为了简化减法而来的,将减号化为负数,再将负数化为补码求加法,跟正数没关系。所以不管是正整数还是正小数,原码,反码,补码都全部相同。

原码是一种计算机中对数字的二进制定点的表示方法。原码是指一个二进制数左边加上符号位后所得到的码,且当二进制数大于0时,符号位为0;二进制数小于0时,符号位为1;二进制数等于0时,符号位可以为0或1。原码是有符号数的最简单的编码方式,便于输入输出,但作为代码加减运算时较为复杂。数值位表示真值的绝对值。凡不足n-1位的,小数在最低位右边加零;整数则在最高位左边加零以补足n-1位。代码中的小数点”.”是在书写时为了清晰起见加上去的,在机器中并不出现。

补码在计算机系统中,数值一律用补码来表示和存储。原因在于,使用补码,可以将符号位和数值域统一处理;同时,加法和减法也可以统一处理。此外,补码与原码相互转换,其运算过程是相同的,不需要额外的硬件电路。计算机中的符号数有三种表示方法,即原码、反码和补码。三种表示方法均有符号位和数值位两部分,符号位都是用0表示“正”,用1表示“负”,而数值位,三种表示方法各不相同。对于计算机,其概念和方法完全一样。n位计算机,设n=8,所能表示的最大数是11111111,若再加1成为100000000(9位),但因只有8位,最高位1自然丢失。又回了00000000,所以8位二进制系统的模为2^8。在这样的系统中减法问题也可以化成加法问题,只需把减数用相应的补数表示就可以了。把补数用到计算机对数的处理上,就是补码。

反码是数值存储的一种,但是由于补码更能有效表现数字在计算机中的形式,所以多数计算机都不采用反码表示数。

做而论道
高能答主

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

在计算机中,负数以“其正值的补码形式”表示。

计算机,并不使用原码和反码。

在使用了补码之后,计算机就没有负数了,也没有了减法运算。

那么,计算机只需配置一个加法器,便可横行天下了!

正数,它已经就是正数!

零和正数,不用变换,也不许变换,必须直接进行计算。

所以,正数,根本就没有“任何码”。

另外,计算机中,也没有原码和反码。

相同、不相同?

讨论这个,哪有什么意义!

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
沙里波特
2024-11-26 · TA获得超过5248个赞
知道大有可为答主
回答量:1.1万
采纳率:95%
帮助的人:632万
展开全部

在计算机系统中,数值,一律采用【补码】表示和存储。

原码和反码,计算机都是不用的。 在计算机中,也不保存它们。

因此,人们也不必关心它们。

它们相同,或不相同,都没有任何关系。

计算机使用二进制数。

虽然,是二进制数,但是,进行数学计算时,二进制数、十进制数,并没有本质的区别。

十进制数中,有补数,二进制数中,有补码。

它们,都是雷同的。

其实,所谓的补码,并不是什么什么码,它们也是数。

你就看十进制吧。

当你忽略了进位,+99,能代替-1,证明如下:

●  27 + 99 = (进位 1) 26,

●  27 - 1 = 26。

规律:

舍弃了进位,正数,就能当负数、加法,就能完成减法运算。

在计算机中,虽然用的是二进制,也同样有这个规律。

那么,只要舍弃了进位,计算机中,就没有了负数和减法运算。

在计算机中,就都是正数和加法运算了!

因此,计算机,只需配置一个加法器,便可横行天下!

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

什么是补数?  99、1,又是什么关系?

若两数之和,为 10、100、1000 ... 10^n,这两个数,就是【互为补数】。

如:4 和 6、88 和 12、455 和 545 等等,就互为补数。

99、1,显然也是互为补数。

------

对于二进制数来说,若两数之和,为 2^n,也就是互为补数了。

八位二进制的进位,是 2^8 = 256 = 1 0000 0000 (二进制)。

那么,1 和 255、2 和 254、...、128 和 128,都是互为补数的关系。

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

补数,又有什么用呢?

在前面已经证明,在十进制时:-1,就可以用 +99 代替。

同样道理,在二进制时:-1 就可以用 255 (1111 1111) 代替。

其它的:-2 用 1111 1110、-3 用 1111 1101、、、代替即可。

这些代替负数的正数,就是计算机专家发明的“补码”了。

其实,“补码”,并不是什么什么码,它也是正常的数值。

而且,“补码”和什么“机器数符号位原码反码取反加一”,也并无任何关系。

所谓的:[ X ]补 + [ Y ]补 = [ X + Y ]补,也不过是故弄玄虚而已。

关键的问题是:舍弃进位! 他们却没有认真的强调一下。

------

其实,进位、舍弃进位、补数,这些都是小学算术中的概念。

计算机专家如果好好的上个小学,就一定不会编造那些无聊的概念了。

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

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式