补码问题,例如:补码11111011的十进制数值怎么求,谢谢

来源:百度知道 编辑:UC知道 时间:2024/06/27 12:29:48

十进制到二进制的计算方法就是把该整数除以2,把每步所得的余数0或1从最后一个依次向前排,即可得二进制数!
因为数据在计算机中都是以二进制表示的,编译系统对于不同类型的变量分配不同大小的存贮空间,制定不同的取值范围。比如整型在计算机中的存储用2个字节16位的存储空间,其中的最高位代表符号位的,符号位为0表示的是正数,符号位为1表示为负数,整型数据在内存中以二进制的补码存放。
以10和-10说明正数在内存中的存放形式:
十进制 10 -10
二进制原码 0000000000001010 1000000000001010
二进制反码 0000000000001010 1111111111110101
二进制补码 0000000000001010 1111111111110110
总结起来就是,正数的原码、反码、补码都是一样的。
负数的首位为1,不变,反码就是对除了首位之外的数求反,补码就是在反码的基础上加1得到的。
对于这道题,补码11111011对应的反码为11111010,对应的原码为10000101,化为十进制数为-5.

原码 10000101
带符号 -5