正数的原码反码补码到底是不是一样的?

2024-12-03 02:52:04
推荐回答(5个)
回答(1):

C语言里正数的原码反码补码是一样的。

符号位是0,原码,反码,补码:00001010;

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

计算机里有硬件“加法器”,有了补码,减法也可以用加法器做了。计算机里运算速度,硬件远快于软件,这是做出反码,补码和原码的原因。

扩展资料

1、原码的优点

简单直观,例如:用8位二进制表示一个数,+11的原码为00001011,-11的原码就是10001011;

原码不能直接参加运算,可能会出错。例如数学上,1+(-1)=0,而在二进制中。

2、原码的缺点

例:00000001+10000001=10000010,换算成十进制为-2。显然出错了。

所以原码的符号位不能直接参与运算,必须和其他位分开,这就增加了硬件的开销和复杂性。

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

回答(2):

正数原码反码补码都一样,符号位是0,不变的,数据位也不变。
负数符号位都不变为1.
10:
原码,反码,补码:0000 1010

回答(3):

正数的各个码都是一样的。。
负数反码符号位不变,还是1
正数的反码还是这个数本身。
推荐你找个数字逻辑看一下吧。

回答(4):

是的,
正数的原码,反码,补码是完全一样的。
在计算机中一般都是采用补码来存储整数。

回答(5):

原码和补码是一样的!