整数源码转换补码的规则(整数的原码和补码)
本文目录一览:
计算机源码,反码,补码之间怎么计算?
转换方法:
如果是正数或零,则首位为 0,补码=原码=反码。
否则,首位为 1,数值位取反加一,即可实现“补码与原码”互换。
例如:
对 1111 1001 取反,为 1000 0110,再加一,得:1000 0111。
对 1000 0111 取反,为 1111 1000,再加一,得:1111 1001。
这说明,补码 ←→ 原码,方法是相同的。
原码、补码、反码之间是怎样转换的?
正数的原码、反码、补码是一致的。(例如:2的原码:0000 0010,那么其反码和补码都是0000 0010)
负数的反码顾名思义,是除了符号位与原码一致,其余位都与原码相反。(例如:-2的原码是1000 0010,那么其反码是1111 1101),负数的补码则是在其反码的基础上加1。(例如:-2的反码是1111 1110)
1、首先,数字除了我们平时最长使用的十进制数外,还有二进制,八进制,十六进制等。这里我们的原码,补码,反码之间转换指的是二进制数。如下。
2、在二进制数中,数字的正负是根据首位是0还是1来判断的,如果首位是0,那么就是正数,首位是1就代表负数。如下图。
3、从原码到反码,如果该数为正数,也保持不变,如果首位是1,也就是说是负数,就将除了首位的1除外的所有数字取反。如下图所示。点击即可查看。
4、如果想要把原码转换成补码,对正数来说,补码与原码相同,对负数来说,之间将反码加1就可以得到补码,计算示例如下图所示。当然,我们还可以将补码转换为原码。如果是负数得到的补码,可以通过求该补码的补码来得到原来的原码。如下。
十进制的原码、补码
十进制-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。
参考资料来源:百度百科-补码