十进制的原码、补码
2022-09-28 · 百度认证:北京惠企网络技术有限公司官方账号
十进制-67的原码是01000011、反码是10111100和补码是10111101。
转换规则:
1、负整数的原码为二进制前面加符号位;
-67=1000011(二进制)=11000011(原码)
2、负整数的反码=原码各位取反(除了符号位外);
11000011(原码)=10111100(反码)
3、负整数的补码=负整数的反码+00000001;
10111100(反码)=10111101(补码)
扩展资料:
已知一个数的补码,求原码的操作其实就是对该补码再求补码:
⑴如果补码的符号位为“0”,表示是一个正数,其原码就是补码。
⑵如果补码的符号位为“1”,表示是一个负数,那么求给定的这个补码的补码就是要求的原码。
例:已知一个补码为11111001,则原码是10000111(-7)。
因为符号位为“1”,表示是一个负数,所以该位不变,仍为“1”。
其余七位1111001取反后为0000110;再加1,所以是10000111。
参考资料来源:百度百科-补码
在计算机系统中,数值,一律采用补码表示和存储。
原码和反码,都是不存在的。
补码,是一个“代替负数”的正数。
使用了补码,计算机中就没有负数了,同时,也就没有减法运算了。
因此,使用补码,就能简化运算,从而就简化了硬件。
------------------------
补码(正数),怎么就能代替负数呢?
用十进制来说明,其原理就十分简单。
用 2 位 10 进制数,可有下列的算式:
25 - 1 = 24
25 + 99 = (一百) 24
如果你只取 2 位数,舍弃超出的进位,+99 就能代替-1 !
加法,也就代替了减法。
同样,+98 也能代替-2。
。。。
这些代替负数的正数,就称为:“负数的补数”。
计算公式:【 补数 = 负数 + 10^2 】。
其中:10^2 = 100,是 2 位 10 进制数的计数周期。
------------------------
计算机用二进制,补数,就称为“补码”了。
8 位 2 进制数,计数周期就是:2^8 = 256。
-1 的补码 =-1 + 256 = 255 = 1111 1111 (二进制)。
-2 的补码就是:254 = 1111 1110 (二进制)。
。。。
------------------------
老外数学不好,弄不懂原理,也不愿意计算,才编造了“原码反码取反加一 ... ”。
其实,原码反码,在计算机中,并不使用,也根本就不存在。
计算机老师,却很爱“津津乐道”这些没用的“知识”!
看来,用小学知识来算一个数,对他们,是很难的。
你先求出二进制的原码、补码,再转换成十进制,即可。
如:
[-67 ]原码=1000 0000 0100 0011B = 8043H = 32835D。
[-67 ]补码=1111 1111 1011 1101B = FFBDH = 65469D。