首页 > 试题广场 >

由 4 个 "1" 和 4 个 "0" 组成的 8 位二进制

[单选题]
由 4 个 "1" 和 4 个 "0" 组成的 8 位二进制补码,能表示的最小整数是:
  • -125
  • -32
  • -121
  • -3
推荐
答案是C
               最大和最小分别是01111000 10000111,那么10000111的原码是11111001为-121
编辑于 2017-03-18 09:12:09 回复(1)
。。忘选了
发表于 2017-04-28 10:51:25 回复(5)
答案是C 这里我们需要知道的是: 正数: 原码 = 反码 = 补码 负数:原码          反码 = 原码除符号位之外的各位求反          补码 = 反码 +1 (如果 +1 之后有进位的,要一直往前进位,包括符号位) 最小的一定是负数,为1000111,-121(10); 最大的一定是正数,为01111000
发表于 2017-03-13 09:40:12 回复(1)
计算机存储是以补码的形式存在的。
最大的数,就是正数,符号位为0,则补码形式为01111000,正数的补码和原码一样所以最大的数为120,
最小的数为负数,符号位为1,则补码形式为10000111,补码的求法是反码加1,则反码为10000110,原码为11111001,转化为十进制为-121。
发表于 2017-12-03 15:23:20 回复(0)
C
最小的一定是负数因此最高位放1,负数后面的是补码,原码为补码取反+1,因此将剩下的三个1放在最低位取反+1后得到的数最大,因此最小的数是10000111,该数为-121
发表于 2017-01-27 15:13:41 回复(1)
计算机对数据的存储是以补码的形式存储的,
对于正数而言,原码=反码=补码
对于负数而言,首先写原码,其中,
原码:先将符号位,置1,余下的位数,填写负数本身的绝对值的二进制编码即可;
反码:负数的原码的符号位不变(保持是1),后面的数据位全部按位取反即得到负数的反码;
补码:直接在得到的反码上,加1即可得到补码;
备注:计算机编码实现中,反码,补码,这两个概念仅仅是对负数而言的;
即,对于正数,其反码与补码,与原码完全相同,
其次,还需要注意一点,
针对原码和反码:无论是正数还是负数,符号位都一定遵循标准:正0负1;
针对此题,由4个0和4个1写出的二进制数字:补码形式;
要计算出其表示的原码的最大值:
思考逻辑:
假设是8位的表示,针对正数,原码=反码=补码,对大值一定是正数,符号位一定是0 ,然后取绝对值最大,只需要保证最高的四位写1,其余三位(最低的三位)写0,即:01111000;
要计算出其表示的原码的最小值:
既然八位中有4个1,4个0,
补码的最高位一定不会是0,
因为,只有原码是1000 0000(负数)的时候,其反码:1111 1111,补码:1 0000 0000(是0),
不会是最小的,能表示的最小的一定是负数:
所以,最高位应该是1,(整个过程中先补管符号位)其中,根据数据得到的原则,逆回去:
反码=补码-1,这个不会实质性影响数据大小,最重要的是取反,反码取反是原码,因为要取最小的负数,即,原码绝对值最大,反码绝对值应该最小,相应的补码的绝对值应该最小,所以要求的补码(除符号位外)应该是:#000 0111。
最后加上符号位1得到:1000 0111(补码)代表的原码应该是最小的:-121.



发表于 2018-04-16 14:18:53 回复(0)
发表于 2017-03-29 10:44:48 回复(0)
最大值,即符号位=0,即0111,1000,即64+32+16+8=120 最小值,即符号位=1,即1000,0111,补码变原码,从左边起第1个不为0的位开始,各位取反,末位+1,1111,1001,即-121
发表于 2022-01-16 07:42:05 回复(4)
答案:C
因为是最大的负数,所以符号位一定是1。
补码10000111,反码10000110,原码11111001=-121
发表于 2019-04-08 22:14:55 回复(0)
对于正数:原码=反码=补码
对于负数:反码=原码除符号位其他位取反,补码=反码+1
给定条件最大补码为01111000,最小补码为11111001,对应原码为10000111

发表于 2017-06-05 09:00:19 回复(0)

正数的反码和补码都与原码相同。

负数的反码为对该数的原码除符号位外各位取反。

负数的补码为对该数的原码除符号位外各位取反,然后在最后一位加1

发表于 2018-11-28 13:06:40 回复(0)
首先要知道,负数的反码等于原码符号位不变的情况下,其它位取反。负数的补码等于其反码+1.
发表于 2018-10-17 23:37:16 回复(0)
Amb头像 Amb
最小数的原码应该是:11111000即-120;反:10000111,补10001110
发表于 2017-08-03 20:56:15 回复(0)
在计算机中采取补码形式计算。规定8位二进制最大整数127(补码01111111)加1后结果为负128(补码10000000)。具体循环如下:负128(补码10000000)加1为负127(补码即10000001),负127加1为负126(补码即10000010),……11111111---负1(补码),00000000---0(补码),继续加1,……直到01111111---127(补码)。
发表于 2021-04-15 15:46:03 回复(0)

最小整数,那么考虑首先考虑是负数,那么第一位为1,根据补码求真值的方法,不难得出补码为10000111时真值最小。-128+4+2+1=-121。所以答案为-121


发表于 2018-08-25 14:22:41 回复(0)
(1):正数在计算机中的存储形式直接是其对应的二进制形式,负数在计算机中存储形式是其绝对值的补码,而且这个补码首位必为"1",这个"1"就代表了这个数是一个"负数"。
(2:就是一个负数以补码形式存储后如何计算器代表的具体值,过程是这样的,首先减1,然后符号位"1"不变,其他为全部取反,最后计算除符号位外的数值,得到一个整数,再对整数取负数就是我们要的结果。
(1)我们可以得到结论,想要组织最小值,第一位肯定是1,则还剩下三个1和四个0,而从(2)可以得到只有让符号位外的值最小,得到的值才会最大,所以剩下的三个1应该在最后,所以,得到的结果就是"10000111",通过(2)的计算过程可以得到结果为"64+32+16+8+1=121",所以为-121。
发表于 2018-07-25 16:58:58 回复(0)

正确答案

C

答案解析

最小整数肯定是负数,所以最高位要为1;负数越小,则其绝对值越大,而其绝对值是将补码减1再取反,要想绝对值最大,则补码的后7位要最小,这样,取反后就最大,所以题目变成“由3个1,4个0组成的最小正整数是多少”,当然是0000111,所以答案为10000111,即十进制的-121。

发表于 2018-04-13 18:06:03 回复(0)
正数: 原码 = 反码 = 补码
负数:原码

         反码 = 原码除符号位之外的各位求反

         补码 = 反码 +1 (如果 +1 之后有进位的,要一直往前进位,包括符号位)
最小的一定是负数,为1000111,-121(10);
最大的一定是正数,为01111000

发表于 2017-03-03 10:43:38 回复(0)
补码:10000111 减一取反得到原码:11111001 注意符号位不参与取反 转十进制:1+8+16+32+64=121 再取负
发表于 2023-11-18 20:15:22 回复(0)
负数补码求原码的话:符号位不变先求反码再加一就是原码
发表于 2023-10-18 19:34:52 回复(0)
服了,这里应该是这样的。 最小整数肯定是负数对吧,所以从左到右第一位符号位肯定是1,这个补码对应的肯定就是需要对原码进行取反的原码了。 要想取反之后的负数最大,那题目中的4个1除了符号位的1肯定要放在末尾才行,这里自己理解运算下就知道。即:10000111 而后我们要知道,符号位为1的原码也就是负的,转成补码需要先取反再加1。 那么我们现在有补码了,要想得到对应的原码,肯定要倒回去,要先减1,再取反 减1后为,10000110,取反后为11111001,符号位不参与运算,而后就得出为-121,具体评论区有人发了图片解析
发表于 2023-10-12 22:36:33 回复(0)