估计你是想问37(37默认为十进制数)用二进制表示的原码,反码,补码
计算机的字长为8,-37的原码,反码,补码:
-37的2进制的原码为:1 00100101
-37的2进制的反码为:1 11011010
-37的2进制的补码为:1 11011011
由此可见37-37=00100101-00100101=00100101+11011011=1 00000000=00000000=0
(高于8位的就溢出了那么1 00000000=00000000)
既然您问了10进制的表示方法,理论上是如下格式的:
不过一般不用10进制的原码,反码,补码。
-37的10进制的原码为:1 00000037
-37的10进制的反码为:1 99999962
-37的10进制的补码为:1 99999963
在此给你举个例子。
比如:2-2=02-02=02+98=00(100)=0
这里位数是两位的计算机,高于两位的就溢出了。
顺便说一下:
(1)补码=反码+1。
(2)正数的反码为其本身,负数的反码要加上首位符号标志位(最高位为1)。
对于(2),举例:5=0000 0101,-5=1111 1011 (补码)
十进制数37转为二进制数为:100101;
因为题目说一字节(Byte)为8位,那么给它补上两位,即:00100101,此为原码;
对于二进制数来说,正数的原码,反码,补码是一样的;
所以就得到十进制数37的原码,反码,补码:00100101
37,就是+37,它的原码,反码,补码都是相同的。
都是:0010 0101。
设计算机的字长为8,写出37的十进制的原码,反码,补码。
37的十进制的原码为:00100101
37的十进制的反码为:11011010
37的十进制的补码为:00100101