一个8位二进制整数的补码有5个1和3个0,则该数最小为多少?
6个回答
展开全部
通常n位二进制,最高位为符号位,正数符号位为0,负数符号位1;
求补码
正数的补码
正数的补码与原码相同。
负数的补码
负数的补码等于其符号位不变,数值部分的各位取反,然后整个数加1。
如果是正数
符号位为0
则补码是00011111
原码也是00011111
这个数(最小的)是
(-1)^0*(2^4+2^3+2^2+2^1+1)=31
如果是负数
符号位为1
则补码是10001111
原码是11110001
这个数(最小的)是
(-1)^1*(2^6+2^5+2^4+1)= -113
求补码
正数的补码
正数的补码与原码相同。
负数的补码
负数的补码等于其符号位不变,数值部分的各位取反,然后整个数加1。
如果是正数
符号位为0
则补码是00011111
原码也是00011111
这个数(最小的)是
(-1)^0*(2^4+2^3+2^2+2^1+1)=31
如果是负数
符号位为1
则补码是10001111
原码是11110001
这个数(最小的)是
(-1)^1*(2^6+2^5+2^4+1)= -113
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
由题目可知这是一个带符号为的8位二进制数,所以最高位要表示负数符号要用掉一个“1”.所以剩下4个“1”和3个“0”.
给你看个例子,-1的补码是1111,1111;扣除最高符号位表示为111,1111.-2的补码是1111,1110;扣除最高符号位表示为111,1110.由此可以看出来补码表示的负数“1”权越大数越大,最后的-128补码就是1000,0000了.
所以剩下的4个“1”和3个“0”为了表示最小数应该排列成000,1111的形式,最终补码为1000,1111=-113
选C
说选A的请注意:
-120的源码是1111,1000,负数的补码要将表示数值的部分111,1000取反加1,应该得-120的补码应该为1000,1000.
给你看个例子,-1的补码是1111,1111;扣除最高符号位表示为111,1111.-2的补码是1111,1110;扣除最高符号位表示为111,1110.由此可以看出来补码表示的负数“1”权越大数越大,最后的-128补码就是1000,0000了.
所以剩下的4个“1”和3个“0”为了表示最小数应该排列成000,1111的形式,最终补码为1000,1111=-113
选C
说选A的请注意:
-120的源码是1111,1000,负数的补码要将表示数值的部分111,1000取反加1,应该得-120的补码应该为1000,1000.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-01-04
展开全部
因为最高位表示负数符号要用掉一个“1”。所以剩下4个“1”和3个“0”。
最小数应该排列成0001111的形式,最终补码为10001111=-113
最小数应该排列成0001111的形式,最终补码为10001111=-113
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
补码的每一位,都代表一个数值。
在八位的补码中,最高位的 1,就代表-128。
其余位,都是正数。
各位的数值如下所示:
----------------------------
位置: 最高位 bit6 bit5 bit4 bit3 bit2 bit1 末位
数值:-128 64 32 16 8 4 2 1
----------------------------
如果想要得到最小值,显然,-128,就必须选中。
其它位都是正数,就应该尽量选小的。
所以,最小值的补码,就是: 1 0 0 0 1 1 1 1。
它代表的数值,就是:-128 + 8 + 4 + 2 + 1 =-113。
如果想要得到最大值,最高位的-128,就不能选了。
其它位都要选大的,这就是: 0 1 1 1 1 1 0 0。
它代表的数值,就是: 64 + 32 + 16 + 8 + 4 =+124。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询