第二次练习题
单选题:
1、对真值0 表示形式唯一的机器数是()
A、原码 B、补码和移码 C、反码 D、以上都不对 2、[x]补 = x0.x1x2…xn(n 为整数),它的模是() A、2n-1 B、2n C、1 D、2
3、[x]补 = x0x1x2…xn(n 为整数),它的模是() A、2n+1 B、2n C、2n+1 D、2n-1
4、若[x]补 = 0.1101010,则[x]原 = ()
A、1.0010101 B、1.0010110 C、0.0010110 D、0.1101010 5、若[x]补 = 1.1101010,则[x]原 = ()
A、1.0010101 B、1.0010110 C、0.0010110 D、0.1101010
6、假定一个十进制数为-66,按补码形式存放在一个8 位寄存器中,该寄存器的内容用 十六进制表示为()
A、C2H B、BEH C、BDH D、42H
7、设寄存器位数为8 位,机器数采用补码表示(含1 位符号位)。对应于十进制数-27, 寄存器内容为()
A、27H B、9BH C、E5H D、C6H
8、设寄存器位数为8 位,机器数采用补码表示(含1 位符号位),则十进制数-26 存放 在寄存器中的内容是()
A、26H B、9BH C、E6H D、5AH
9、设机器数采用补码表示(含1 位符号位),若寄存器内容为9BH,则对应的十进制 数为()
A、-27 B、-97 C、-101 D、155
10、若寄存器内容为1000 0000,若它等于0,则为() A、原码 B、补码 C、反码 D、移码
11、若寄存器内容为1000 0000,若它等于-0,则为() A、原码 B、补码 C、反码 D、移码
12、若寄存器内容为1111 1111,若它等于+127,则为() A、原码 B、补码 C、反码 D、移码
13、若寄存器内容为1111 1111,若它等于-1,则为() A、原码 B、补码 C、反码 D、移码
14、若寄存器内容为0000 0000,若它等于-128,则为() A、原码 B、补码 C、反码 D、移码
15、若寄存器内容为1000 0000,若它等于-128,则为() A、原码 B、补码 C、反码 D、移码
16、一个C 语言程序在一台32 位机器上运行,程序中定义了三个变量x,y 和z,其中
x 和z 为int 型,y 为short 型。当x = 127,y = -9 时,执行赋值语句z = x + y 后,x,y 和z 的值分别是()
A、x = 0000007FH,y = FFF9H,z = 00000076H B、x = 0000007FH,y = FFF9H,z = FFFF0076H C、x = 0000007FH,y = FFF7H,z = FFFF0076H
D、x = 0000007FH,y = FFF7H,z = 00000076H 17、一个16 位无符号二进制数的表示范围是()
A、0~65536 B、0~65535 C、-32768~32767 D、-32768~32768
18、若定点整数64 位,含1 位符号位,采用补码表示,则所能表示的绝对值最大负数 为()
A、-264 B、-(264-1) C、-263 D、-(263-1) 19、n 位定点整数表示的最大值是() A、2n B、2n-1 C、2n-1 D、2n-1-1
20、若定点整数64 位,含1 位符号位,采用补码表示,则所表示最大正数为() A、264 B、264-1 C、263 D、263-1
21、定点小数反码[x]反 = x0.x1……xn 表示的数值范围是() A、-1+2-n < x ≤ 1-2-n B、-1+2-n ≤ x < 1-2-n C、-1+2-n ≤ x ≤ 1-2-n D、-1+2-n < x < 1-2-n 22、一个n+1 位整数x 原码的数值范围是() A、-2n +1 < x < 2n -1 B、-2n +1 ≤ x < 2n -1 C、-2n +1 < x ≤ 2n -1 D、-2n +1 ≤ x ≤ 2n -1
23、若[x]补 = 1x1x2x3x4x5x6,其中xi(1≤i≤6)取0 或1,若要x>-32,应当满足() A、x1 为0,其他各位任意 B、x1 为1,x2……x6 中至少有一位为1 C、x1 为1,其他各位任意 D、x1 为0,x2……x6 中至少有一位为1 24、在下列有关补码和移码关系的叙述中,()是不正确的 A、相同位数的补码和移码表示具有相同的数据表示范围 B、零的补码和移码表示相同
C、同一个数的补码和移码表示,其数值部分相同,符号相反 D、一般用移码表示浮点数的阶码,而补码表示定点整数
25、计算机内部的定点数大多用补码表示,以下是一些关于补码特点的叙述 I、零的表示是唯一的
II、符号位可以和数值部分一起参加运算 III、和其真值的对应关系简单、直观 IV、减法可以用加法来实现
在以上叙述中,()是补码表示的特点
A、I 和II B、I 和III C、I 和II 和III D、I 和II 和IV 26、补码定点整数1001 0101 右移一位后的值为() A、0100 1010 B、0100 1010 1 C、1000 1010 D、1100 1010 27、补码定点整数0101 0101 左移2 位后的值为() A、0100 0111 B、0101 0100 C、0100 0110 D、0101 0101
28、设机器数字长8 位(含1 位符号位),若机器数BAH 为原码,则算术左移一位得 (),算术右移一位后得()
A、F4H,EDH B、B4H,6DH C、F4H,9DH D、B5H,EDH
29、设机器数字长8 位(含1 位符号位),若机器数DAH 为补码,则算术左移一位得 (),算术右移一位后得()
A、B4H,EDH B、F4H,6DH C、B5H,EDH D、B4H,6DH 30、计算机内的减法是用()来实现的
A、将被减数加到减数上 B、从被减数中减去减数 C、补数的相加 D、从减数中减去被减数 31、补码的加减法是指()
A、操作数用补码表示,两数相加减,符号位单独处理,减法用加法代替
B、操作数用补码表示,符号位和数值位一起参加运算,结果的符号与加减相同
C、操作数用补码表示,连同符号位直接相加减,减某数用加负某数的补码代替,结果 的符号在运算中形成
D、操作数用补码表示,由数符决定两数的操作,符号位单独处理
32、在补码的加减法中,用两位符号位判断溢出,两符号位为10 时,表示() A、结果为正数,无溢出 B、结果正溢出 C、结果负溢出 D、结果为负数,无溢出
33、在补码的加减法中,用两位符号位判断溢出,两符号位为01 时,表示() A、结果为正数,无溢出 B、结果正溢出 C、结果负溢出 D、结果为负数,无溢出
34、若采用双符号位,则发生正溢出的特征是:双符号位为() A、00 B、01 C、10 D、11
35、定点加法运算中,()时表示数据溢出
A、双符号位相同 B、双符号位不同 C、两正数相加 D、两负数相加 36、两补码相加,采用1 位符号位,则当()时,表示结果溢出 A、最高位有进位
B、最高位进位和次高位进位异或结果为0 C、最高位为1
D、最高位进位和次高位进位异或结果为1 37、下列说法中正确的是()
A、采用变形补码进行加减运算可以避免溢出
B、只有定点数运算才有可能溢出,浮点数运算不会产生溢出 C、定点数补码减法中两个正数相减不会产生溢出 D、只有将两个正数相加时才有可能产生溢出 38、如果x 为负数,由[x]补求[-x]补是() A、[x]补各位保持不变
B、[x]补符号位变反,其他各位不变
C、[x]补除符号位外,各位变反,末位加1 D、[x]补连同符号位一起各位变反,末位加1 39、原码乘法是()
A、先取操作数绝对值相乘,符号位单独处理 B、用原码表示操作数,然后直接相乘
C、被乘数用原码表示,乘数取绝对值,然后相乘 D、乘数用原码表示,被乘数取绝对值,然后相乘
40、在采用原码一位乘法计算x×y 时,当乘数最低位yi 为1 时,() A、被乘数x 连同符号位与原部分积相加后,右移一位 B、被乘数绝对值|x|与原部分积相加后,右移一位
C、被乘数x 连同符号位右移一位后,再与原部分积相加
D、被乘数绝对值|x|右移一位后,再与原部分积相加 41、在原码一位乘法中() A、符号位参加运算 B、符号位不参加运算
C、符号位参加运算,并根据运算结果改变结果中的符号位 D、符号位不参加运算,并根据运算结果确定结果中的符号位
42、假设有4 个整数用8 位补码分别表示,r1 = FEH,r2 = F2H,r3 = 90H,r4 = F8H, 若将运算结果放在一个8 位寄存器中,则下列运算会发生溢出的是() A、r1×r2 B、r2×r3 C、r1×r4 D、r2×r4 综合题:
1、设机器字长为8 位(含1 位符号位),机器数采用原码表示,给出定点小数和定点整 数的真值表示范围。
2、设机器字长为8 位(含1 位符号位),机器数采用补码表示。给出定点小数和定点整 数的真值表示范围。
3、已知X = -26,机器字长为8 位(最高位为符号位),写出三种机器数(原码、补码、 反码)的左、右移两位后的表示形式及对应的真值。
4、设机器字长为8 位(含1 位符号位),A=15,B=24,求[A+B]补和[A-B]补并还原成真 值。
5、设机器字长为5 位(含1 位符号位),x = -0.1101,y = 0.1011,采用原码一位乘法求 x×y。
6、设机器字长为5 位(含1 位符号位),x = 0.1011,y = 0.1101,采用原码加减交替除 法求x/y。
7、假设有两个整数x 和y,x = -68,y = -80,采用补码形式(含1 位符号位)表示,x
和y 分别存放在寄存器A 和B 中。另外还有两个寄存器C 和D。A、B、C、D 都是8 位的 寄存器。请回答下列问题(要求最终用十六进制表示二进制序列): (1)寄存器A 和B 中的内容分别是什么?
(2)x 和y 相加后的结果存放在寄存器C 中,寄存器C 中的内容是什么?此时,溢出 标志位OF 是什么?符号标志位SF 是什么?进位标志位CF 是什么?
(3)x 和y 相减后的结果存放在D 寄存器中,寄存器D 中的内容是什么?此时,溢出 标志位OF 是什么?符号标志位SF 是什么?进位标志位CF 是什么? 8、假设在一个8 位字长的计算机中运行如下类C 程序段: unsigned int x = 134; unsigned int y = 246; int m = x; int n = y;
unsigned int z1 = x-y; unsigned int z2 = x+y; int k1 = m-n; int k2 = m+n;
若编译器编译时将8 个8 位寄存器R1~R8 分别分配给变量x、y、m、n、z1、z2、k1 和k2.请回答下列问题。(提示:带符号整数用补码表示)
(1)执行上述程序段后,寄存器R1、R5 和R6 的内容分别是什么?(用十六进制表示)
(2)执行上述程序段后,变量m 和k1 的值分别是什么?(用十进制表示)
(3)上述程序段涉及带符号整数加/减、无符号整数加/减运算,这四种运算能否利用 同一个加法器及辅助电路实现?简述理由。
(4)计算机内部如何判断带符号整数加/减运算的结果是否发生溢出?上述程序段中, 哪些带符号整数运算语句的执行结果会发生溢出?