一、选择题
1.定点数加法溢出检测方法有下面()
A、奇偶校验法
B、双符号位法
C、单符号位法
D、反码法
正确答案:B,C
题目解析:
判别溢出的两种方法:
方法一,采用双符号位法,也称为“变形补码”,即采用变形码表示,当符号位为01或10时,即发生了溢出。
方法二,采用单符号位方法。当数据最高有效位产生进位与符号位产生的进位不一致时发生溢出。
2.补码加减法是指( ) 。
A、操作数用补码表示,两数尾数相加减,符号位单独处理,减法用加法代替
B、操作数用补码表示,符号位与尾数一起参加运算,结果的符号与加减相同
C、操作数用补码表示,连同符号位直接相加减,减某数用加负某数的补码代替,结果的符号在运算中形成
D、操作数用补码表示,由数符决定两尾数的操作,符号位单独处理
正确答案:C
3.如果X为负数,由[X]补求[-X]补是将( )。 (2000年考研题)
A、[X]补 各值保持不变
B、[X]补 符号位变反,其它各位不变
C、[X]补 除符号位外,各位变反,末尾加1
D、[X]补 连同符号位一起各位变反,末尾加1
正确答案:D
题目解析:
不论X是正数还是负数,由 [X]补 求 [-X]补 的方法是对[X]补求补,即连同符号位一起按位取反,末尾加1。
4.若 [x]补 =0.1101010 ,则 [x]原=( )。(2001年考研)
A、1.0010101
B、0.0010110
C、1.0010110
D、0.1101010
正确答案:D
题目解析:
正数的补码与原码相同,负数的补码是用正数的补码按位取反,末位加1求得。此题中X补为正数,则X原与X补相同。「答案」:D
5.若[X]补=1.1011 ,则真值 X 是( )。 (2003年考研)
A、-0.1011
B、-0.0101
C、0.1011
D、0.0101
正确答案:B
题目解析:
[X]补=1.1011,其符号位为1,真值为负;真值绝对值可由其补码经求补运算得到,即按位取后得0.0100再末位加1得0.0101,故其真值为-0.0101.「答案」:B
6.设有二进制数 x=-1101110,若采用 8 位二进制数表示,则[X]补( )。(2004年考研)
A、11101101
B、10010011
C、00010011
D、10010010
正确答案:D
题目解析:
x=-1101110为负数,负数的补码是将二进制位按位取反后在最低位上加1,故[x] 补 =10010010
7.若采用双符号位,则定点数加减法发生正溢的特征是:双符号位为( )。 (2001年考研)
A、00
B、01
C、10
D、11
正确答案:B
题目解析:
采用双符号位时,第一符号位表示最终结果的符号,第二符号位表示运算结果是否溢出。当第二位和第一位符号相同,则未溢出;不同,则溢出。若发生正溢出,则双符号位为01,若发生负溢出,则双符号位为10.「答案」:B
二、判断题
8.在模2n+1意义下,任意两数的补码之和等于该两数之和的补码。
正确答案:对
9.全加器和半加器的区别在于是否考虑低位向高位的进位。
正确答案:对
三、填空题
10.变形补码形式中,判断是否溢出的条件是 A 。
正确答案:看两符号位是否相异
11.已知X和Y, 用变形补码计算X+Y, 同时指出运算结果是否溢出。
(1)X=11011, Y=00011, X+Y = A
(2)X= 11011, Y= -10101, X+Y = B
(3)X=-10110 ,Y=-00001, X+Y = C
正确答案:11110 无溢出 00110 无溢出 -10111 无溢出
题目解析:
解析:(1)先写出x和y的变形补码再计算它们的和
[x]补=00 11011 [y]补=00 00011
[x+y]补=[x]补+[y]补=00 11011+00 00011=00 11110
∴ x+y=11110 无溢出。
(2)先写出x和y的变形补码再计算它们的和
[x]补=00 11011 [y]补=11 01011
[x+y]补=[x]补+[y]补=00 11011+11 01011=00 00110
∴ x+y= 00110 无溢出。
(3)先写出x和y的变形补码再计算它们的和
[x]补=11 01010 [y]补=11 11111
[x+y]补=[x]补+[y]补=11 01010+11 11111=11 01001
∴ x+y= -10111 无溢出
12.已知X和Y, 用变形补码计算X-Y, 同时指出运算结果是否溢出。
(1) X = 11011, Y = -11111 ,X-Y = A
(2) X = 10111, Y = 11011 ,X-Y = B
(3) X = 11011, Y= -10011 ,X-Y = C
正确答案:01 11010 正溢出 -00100 无溢出 01 01110 正溢出
题目解析:
解析:(1)先写出x和y的变形补码,再计算它们的差
[x]补=00 11011 [y]补=11 00001 [-y]补=00 11111
[x-y]补=[x]补+[-y]补=00 11011 + 00 11111=01 11010
∵运算结果双符号不相等 ∴ 为正溢出
(2)先写出x和y的变形补码,再计算它们的差
[x]补=00 10111 [y]补=00 11011 [-y]补=11 00101
[x-y]补=00 10111+11 00101=11 11100
∴ x-y = -00100 无溢出
(3)先写出x和y的变形补码,再计算它们的差
[x]补=00 11011 [y]补=11 01101 [-y]补=00 10011
[x-y]补=[x]补+[-y]补=00 11011+00 10011=01 01110
∵运算结果双符号不相等 ∴ 为正溢出
四、问答题
13.试述计算机中如何利用加法器实现减法运算?
正确答案:
加法器的核心部件是全加器。当进行减法运算时,由于[X-Y]补 =[X]补 +[-Y]补 ,因此可利用全加器将Y取反后的结果(同时置进位Ci =1)与X相加即可。对Y求反的过程由Y与1异或(取反)获得。
题目解析:
加法器的核心部件是全加器。当进行减法运算时,由于[X-Y]补 =[X]补 +[-Y]补 ,因此可利用全加器将Y取反后的结果(同时置进位Ci =1)与X相加即可。对Y求反的过程由Y与1异或(取反)获得。
14.补码运算的特点是什么?
正确答案:
补码运算的特点: 减法运算可以用加法来实现,即用求和来代替求差。数的符号位可以同数值部分作为一个整体参与运算。两数的补码之和(差)=两数和(差)的补码
题目解析:
补码运算的特点:
(1)减法运算可以用加法来实现,即用求和来代替求差。
(2)数的符号位可以同数值部分作为一个整体参与运算。
(3)两数的补码之和(差)=两数和(差)的补码
15.简述采用双符号位检测溢出的方法。
正确答案:
采用两位二进制位表示符号,即正数的符号位为00,负数的符号位为11。 若结果的符号位为01,则表时运算结果大于允许取值范围内的最大正数,一般称为正溢出; 若结果的符号位为10,则表时运算结果是负数,其值小于允许取值范围内的最小负数,一般称为负溢出。
题目解析:
采用双符号位检测溢出时是采用两位二进制位表示符号,即正数的符号位为00,负数的符号位为11。
在进行运算时,符号位均参与运算,计算结果中如果两个符号位不同,则表示有溢出产生。
若结果的符号位为01,则表时运算结果大于允许取值范围内的最大正数,一般称为正溢出;
若结果的符号位为10,则表时运算结果是负数,其值小于允许取值范围内的最小负数,一般称为负溢出。
16.在定点数表示中,什么叫“溢出”?溢出判别有哪两种方法。
正确答案:
在定点数运算过程中,如果出现大于字长绝对值的现象,称之为“溢出”。判别溢出的两种方法: 方法一,采用双符号位法,也称为“变形补码”,即采用变形码表示,当符号位为01或10时,即发生了溢出。 方法二,采用单符号位方法。当数据最高有效位产生进位与符号位产生的进位不一致时发生溢出。
题目解析:
在定点数运算过程中,如果出现大于字长绝对值的现象,称之为“溢出”。溢出分为上溢和下溢。上溢是数据的绝对值太大,超出了数据表示的能力范围;而下溢则是数据的绝对值太小,使得数据无法有效表示。
判别溢出的两种方法:
方法一,采用双符号位法,也称为“变形补码”,即采用变形码表示,当符号位为01或10时,即发生了溢出。
方法二,采用单符号位方法。当数据最高有效位产生进位与符号位产生的进位不一致时发生溢出。
17.n位行波进位补码加/法法器可实现n位二进制数加/减运算,但存在什么问题?
正确答案:
计算结果存在行波延迟,导致计算速度慢。
题目解析:
n位行波进位补码加/法法器可实现n位二进制数加/减运算,但计算结果存在行波延迟,导致计算速度慢。n位行波进位加法器的延迟时间为:(2n+9)T,T为一个门电路的延迟。