正数的补码(正数的补码是该数的反码)
本文目录一览:
- 1、正数的补码是多少啊?
- 2、正数的原码、反码、补码是相同的吗?
- 3、正数的原码反码补码到底是不是一样的?
正数的补码是多少啊?
正数的补携没码是什么?
按照补码的性质:
[X]补 + [-X]补 = [0]补
那么:
[X]补 = [0]补-[-X]补
因宴隐腔此,正晌衫数的补码就是:
0 的补码,减去负数的补码。
正数的原码、反码、补码是相同的吗?
相同。
正数的原码=反码=补码。引进补码的作用是为了让计算机更方便做减法。
例如:按时间12个小时来算,现在的准确时间是4点,有一个表显示的是7点,如果要校准时间,我们可以将时针退7-4=3格,也可以向前拨12-3=9格,计算机做减法就可以转化成-3=+9,这样可以简化计算机的硬件设备去做复杂的减法。
原码求补码
正整数的补码是其二进制表示,与原码相同。
例:+9的补码是00001001。(备注:这个+9的补码是用8位2进制来表示的,补码表示方式很多,还有16位二进制补码表示形式,以及32位二进制补码表示形式,64位进制补码表示形式等。每一种补码表示形中段式都只能表示有限的数字。)
求负整数的补码,将其原码除符号位外的所有位取反(0变1,1变0,符号位为1不变)伏培码后加1。
同一个数字在不同的补码表示形式中是不同的。比如-15的补码,在8位二进制中是11110001,然而在16位二缺哪进制补码表示中,就是1111111111110001。以下都使用8位2进制来表示。
以上内容参考:百度百科-补码
正数的原码反码补码到底是不是一样的?
C语言里正数的原码反码补码是一样的。
符号位是0,原码,反码,补码:00001010;
补码是为负数想出来的办法,目的是减法可以用加补码的方法实现。补码可用反码加陆闭1得来,于是又有了负数的反码。
计算机里有硬件“加法器”,有了补码,减法也可以用加法器做了。计算机里运算速度,硬件远快于软件,这是做出反码,补码和原码的原因。
扩展资料
1、原码的优点
简单直观,例如:用8位二进制表示一个数,+11的原码为00001011,-11的原码就是10001011;
原码不能直接参加运算,可能会出错。例如数学上,1+(-1)=0,而在二进制中。
2、原码的缺点
例:00000001+10000001=10000010,换算成十进制为-2。显然出错了。
所以原码的符号位不能直接参与运算,必须和其他位分开,这笑悉吵就增加了硬件碰侍的开销和复杂性。
参考资料来源:百度百科—反码