十进制数-8的原码,反码,补码分别是多少?以及为什么?

如题所述

先不看负号(正用0表示,负用1表示,均加在数的最左端),8化成二进制是1000,若计算机的字长为8,明显位数不够,则在1000左端加0,加满八位(注:包括符号码在内)

原码是00001000(注:负数的原码就是其绝对值的二进制,而负数的二进制数用其补码表示)
反码是11110111
补码是11111000(注:补码是从右数起第一个数字1后按照写反码的方式写)
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-12-17
原码反码补码,都是强行规定的格式和方法。
并没有为什么的问题。

求这些码,先要指定位数。

按照八位:
原码:1000 1000。
反码:1111 0111。
补码:1111 1000。追问

重点是,按照什么规则得出来的呢,要不然只知道结果,下次还是不会呀。

追答

原码反码补码,都是强行规定的规则。

网上有太多的解释了,搜一下,有无尽的结果。
如:
http://zhidao.baidu.com/question/553345617143365572.html

本回答被网友采纳
第2个回答  2020-05-12
计算机中整型数据都用补码表示,规则是0和正数的反码、补码与原码相同,而负数的原码、反码、补码各不相同,有另外的算法。下面以一字节为例回答此题:因为18是正数,它的反码、补码与它的原码同形,即用一字节表示时为00010010。
第3个回答  2015-10-14
+123的原码是01111011 反码是01111011 补码是011110111-123的原码是11111011 反码是1000010补码是10000101追问

-8得原码为什么是10001000而不是11000呢??

相似回答