为什么正整数的原码,反码,补码相同..?

2024-11-29 07:22:03
推荐回答(5个)
回答(1):

这是一种规定。

补码是为负数想出度来的办法,目的是减法可以用加补码的方法实现,补码可用反码加1得来,于是又有了负数的知反码。

计算机里有硬件“加法器”,有了补码,减法道也可以用加法器做了。

计算机里运算速度,内硬件远快于软件,这就是反码,补码和原码花样的原因。

扩展资料:

原码、反码和补码是计算机中对数字二进制的三种表示方法。

1、原码

原码(true form)是一种计算机中对数字的二进制定点表示方法。

2、反码

反码是数值存储的一种,多应用于系统环境设置,如linux平台的目录和文件的默认权限的设置umask,就是使用反码原理。

3、补码

正数:正数的补码和原码相同。负数:负数的补码则是符号位为“1”。

参考资料来源:百度百科-反码

参考资料来源:百度百科-原码

回答(2):

引进补码的作用是为了让计算机更方便做减法
比如说,按时间12个小时来算
现在的准确时间是4点
有一个表显示的是7点
要校准时间,我们可以将时针退7-4=3格,也可以向前拨12-3=9格
计算机做减法就可以转化成-3=+9
这样可以简化计算机的硬件设备去做复杂的减法

然而得到补码的定义:正数时仍为正,而负数x求补要从2减去|x|
本就为了简化减法引进的补码,结果在求补的过程中还是出现减法
这样,再引进了反码表示法方便求补

说白了,补码反码就是为了简化减法而来的,将减号化为负数
再将负数化为补码求加法
跟正数没关系
不管是正整数还是正小数,原码,反码,补码都全部相同

回答(3):

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

原码反码,是没有任何用处的。在计算机中,它们也都不存在。

相同、或不相同,又有什么意义呢?

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

补码,其实就是一个【代替负数】的正数。

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

顺便,也就消除了减法运算。

那么,计算机只需配置一个加法器,就可以走遍天下了。

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

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

理论基础在于:计数系统的周期性。

比如,2 位 10 进制数(0~99),计数周期就是 10^2 = 100。

那么: 25 - 1 = 24

    25 + 99 = (一百) 24

只要你:舍弃进位,仅保留 2 位数,99 就能代替-1。

同理,98 也能代替-2。

。。。

这些正数,就称为“负数的补数”。

变换公式: 负数的补数 = 负数 + 周期。

这公式,小学生,都可以推导出来。

另外还有:

  时钟,时针倒拨 3 小时、正拨 9 小时,等效吧? 周期是 12。

  三角函数,-π/2、+3π/2,正负两种角度,也等效,周期是 2π。

  。。。

正数负数之间的变换公式,都是: 正数 = 负数 + 周期。

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

计算机中,8 位 2 进制数,周期就是 2^8 = 256。


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

-2 的补码,就是:254 = 1111 1110(二进制)。

。。。

求补码,用“负数数值”,直接就能求出补码。

不必经过“原码反码取反加一符号位不变”。

数学不好的老外,才需要弄哪些骚操作!

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

只有负数,才需要变换成补码(正数)。

正数,不需要变换,也不允许变换,必须直接去相加运算。

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

有人说:正数的。。。都相同。

这就是被老外带到沟里去了。

原码反码,都是不存在的,哪还有什么相等!

回答(4):

计算机所能计算的位数,是固定的,如 8 位机、16 位机。。。

对于 8 位二进制来说,减一,可以用“加上 1111 1111”代替。

如: 0000 1010 - 0000 0001 = 0000 1001

   0000 1010  + 1111 1111 = (1)  0000 1001

舍弃进位,只保留 8 位的结果,这两个算式的功能,是完全相同的。

这里的 1111 1111 就称为-1 的补码。

借助于补码,就可以用加法器,进行减法运算。

那么,凡是负数,就需要变换成补码,再用加法运算。

而正数,不需要变换,直接进行计算。

也就是说:正数,根本就不存在补码,以及反码。

但是,有些人基本概念不清,乱说:正数的...相同。

不理会这些谬论,就完了。

回答(5):

我是一个规则,就像数学里面的那些定理一样