设x为整数,[x]补=1,x1x2x3x4x5,若要x<-16,x1~x5应满足的条件是()

设x为整数,[x]补=1,x1x2x3x4x5,若要x<-16,x1~x5应满足的条件是()

原题描述:

设 x 为整数, [ x ] 补 = 1 , x 1 x 2 x 3 x 4 x 5 , 若要 x < − 16 , x 1 … … x 5 应满足的条件是() 设x为整数,\left [ x \right ]_补 =1,x_1x_2x_3x_4x_5,若要 x<-16,x_1 …… x_5应满足的条件是() x为整数,[x]=1x1x2x3x4x5,若要x<16x1……x5应满足的条件是()
A : x 1 … … x 5 至少有一个为 1 B : x 1 必须为 0 , x 2 … … x 5 至少有一个为 1 C : x 1 必须为 0 , x 2 … … x 5 任意 A : x 1 必须为 1 , x 2 … … x 5 任意 A: x_1 …… x_5至少有一个为1\newline B: x_1必须为0,x_2……x_5至少有一个为1\newline C: x_1必须为0,x_2……x_5任意\newline A: x_1必须为1,x_2……x_5任意 A:x1……x5至少有一个为1B:x1必须为0x2……x5至少有一个为1C:x1必须为0x2……x5任意A:x1必须为1x2……x5任意

题目答案:C

解析:

1、题目中 x 的补码是以 1 开头,说明x是一个负数,且满足 x < -16,同时六位二进制表示有符号数的范围是 -32 ~ 31,也就是 -32 <= x < -16。
2、x一定可以写成 x = -16 + y,代入1的不等式可得出只要保证 y 是介于 -1 和 -16 之间的一个数。比如 x 是 -20,可以写成 - 16 + (-4)。
3、由2可以得出 [ x ] 补 = [ − 16 ] 补 + [ y ] 补 \left[ x \right ]_补 = \left[ -16 \right ]_补 + \left[ y \right ]_补\newline [x]=[16]+[y]

由于 -16 <= y <= -1 ,所以y的补码的范围:[1 10000 ~ 1 11111],
再写出 -16 的补码 : [1 10000],
两个补码相加可得到的 [ x ] 补 ,而 x 1 的位置,通过计算 [ − 16 ] 补 + [ y ] 补 的 x 1 位置,可得出 1 + 1 显然为 0 , 而 x 2 … … x 5 由 [ y ] 补的 x 2 … … x 5 位置上的数决定,显然是任意的。 两个补码相加可得到的[x]_补,而x_1的位置,通过计算[-16]_补+[y]_补的x_1位置,可得出1+1显然为0,\newline而x_2 …… x_5由[y]补的x_2 …… x_5位置上的数决定,显然是任意的。 两个补码相加可得到的[x],而x1的位置,通过计算[16]+[y]x1位置,可得出1+1显然为0x2……x5[y]补的x2……x5位置上的数决定,显然是任意的。
所以答案选择C。

你可能感兴趣的:(计算机组成原理,算法)