原码:最高位符号位为1,低7位把27转成十六进制11011,因此8位原码是
1001
1011,也就是十六进制的0x9B
反码:用1111
1111
减去
11011,得到
1110
0100,也就是十六进制的0xE4
补码:反码+1
=
1110
0101,也就是十六进制的0xE5
估计你是想问37(37默认为十进制数)用二进制表示的原码,反码,补码
计算机的字长为8,37的原码,反码,补码:
37的2进制的原码为:00100101
37的2进制的反码为:11011010
37的2进制的补码为:11011011
由此可见37-37=00100101-00100101=00100101+11011011=100000000=00000000=0
(高于8位的就溢出了那么100000000=00000000)
既然您问了10进制的表示方法,理论上是如下格式的:
不过一般不用10进制的原码,反码,补码。
37的10进制的原码为:00000037
37的10进制的反码为:99999962
37的10进制的补码为:99999963
比如数字“2”,“2”用十进制表示原码,反码,补码
分别如下:02,97,98
在此给你举个例子。
比如:2-2=02-02=02+98=00(100)=0
这里位数是两位的计算机,高于两位的就溢出了。
顺便说一下:
(1)补码=反码+1。
(2)正数的原码为其本身,负数的原码要加上首位符号标志位(最高位为1)。
对于(2),举例:5=0000
0101,-5=1111
1011
(补码)
[-27]原=10011011
[-27]反=11100100
[-27]补=11100101