首页 > 试题广场 >

一个8位的二进制整数,采用补码表示,且由3个“1”和5个“0

[单选题]
一个8位的二进制整数,采用补码表示,且由3个“1”和5个“0”组成,则最小值为多少?
  • -127
  • -32
  • -125
  • -3
推荐
答案:C

答案解释:
首先求的是最小值,又是补码表示,那么第一位需要是1(负数), 然来来看-1的补码:1111 1111,
-2的补码:1111 1110,-3的补码:1111 1101...
可以看出除去最高位1外,后面7位值越大,其十进制表示的数就越大,所以3个“1”和5个“0”组成的最小值是:1000 0011,表示的十进制为:-125

当然也可以写出ABCD里面的二进制运用排除法
编辑于 2015-02-09 10:01:39 回复(2)
这题就很简单了。。既然是补码要求最小,必然负数,所以首位为1,剩下的1自然在最后两位,就成了10000011,求其反码为1000010,原码11111101=-125

发表于 2015-09-13 19:23:07 回复(0)
补码: 1000 0011
源码: 1111 1101
把第一位作为符号位 , 
发表于 2016-09-10 20:40:20 回复(0)
对于补码,正数和原码相同,负数是除开符号位后取反+1。补码的特性,不管正数负数,10进制越大的数对应的二进制也越大
发表于 2017-05-13 09:56:31 回复(0)
使用补码和反码的模定义来解这题最为简单. 
8位负数的补码是对28取模的, 对应的8为负数的补码是对(28-1)取模. 即128和127.
简单点来算, 设负数补码的绝对值为a, 则其补码就是128-a.
128-a越小, 整个值就越小, 对应的就是1000 0011, 算出来正好是-125. 
发表于 2015-08-25 19:46:38 回复(1)
一个整数的补码,如果是正数,则为原来的二进制码;如果是负数,则第一位表示符号位,其余位要按位取反再加1,获取到补码。
求最小整数,思路如下:
1、为负数,第一位为1;
2、该整数最小,则表示原码的1在前几位;
按照补码按位取反再加1的方式,补码为:1000 0011;
计算原码为:1111 1101
则该整数为:-125
发表于 2018-03-12 16:58:35 回复(0)
-128-3
发表于 2017-03-28 00:29:31 回复(0)
负数的补码,原码(除了最高位)先取反,再加1. 正数的补码,逐位取反再加1.已知补码,求原码,则先加1,再取反。
发表于 2017-02-25 17:53:24 回复(0)
既然是补码要求最小,必然负数,所以首位为1,剩下的1自然在最后两位,就成了10000011,求其反码为1000010,原码11111101=-125

10000011---->11111100+1----->11111101=-125
发表于 2016-06-24 20:21:49 回复(0)
最高位1的权为-1*2^7 = - 128,其他位的权为 1*2^i,为正值, 要想结果最小,正值部分最小,剩下两1在最后两位,编码为10000011,-128 + 1 + 2 = -125
发表于 2015-08-02 17:24:51 回复(0)