第二章 数据的表示和运算
一、选择
1、补码定点整数0101 0101 左移两位后的值为 2、补码定点整数1001 0101 右移一位后的值为 3、计算机内部的定点数大多用补码表示,以下是一些关于补码特点的叙述:I.零的表示是唯一的
II.符号位可以和数值部分一起参加运算
III.和其值得对应关系简单、直观 IV .减法可以用加法来实现
在以上叙述中,( )是补码表示的特点。
A. I和II B. I和III C. I和II和III D. I和II和IV
4、n位定点整数(有符号)表示的最大值是 5、对于相同位数(设为N位,不考虑符号位)的二进制补码小数和十进制小数,二进制小数能表示的数的个数/十进制小数所能表示的个数为
6、若定点整数64位,含一位符号位,采用补码表示,所能表示的绝对值最大负数为
7、若定点整数64位,含一位符号位,采用补码表示,则所能表示的最大正数为 8、定点小数反码[X]反=0.X1···Xn,表示的数值范围是 9、5位二进制定点小数,用补码表示时,最小负数是 10、下列关于补码和移码关系的叙述中,( )是不正确的。 A.相同位数的补码和移码表示具有相同的数据表示范围 B.零的补码和移码表示相同
C.同一个数的补码和移码表示,其数值部分相同,而符号相反 D.一般用移码表示数的阶,而补码表示定点整数 11、设[x]补=1.x1x2x3x4,当满足( )时,x<-1/2成立。 A. x1必须为1,x2x3x4至少有一个为1 B. x1必须为1,x2x3x4任意
C. x1必须为0,x2x3x4至少有一个为1 D. x1必须为0,x2x3x4任意
12、设[x]补=1.x1x2x3x4,当满足( )时,x>-1/2成立。 A. x1必须为1,x2x3x4至少有一个为1 B. x1必须为1,x2x3x4任意
C. x1必须为0,x2x3x4至少有一个为1 D. x1必须为0,x2x3x4任意
13、若[x]补=1x1x2x3x4x5x6,其中xi(1≤i≤6)取0或1,若要x>-32,应当满足( )
A. x1为0,其他各位任意 B. x1为1,其他各位任意
C. x1为1,x2---x6中至少有一位为1 D. x1为0,x2---x6中至少有一位为1
14、若[x]补=1.x1x2x3x4x5x6,其中xi取0或1,若要x>-32,应当满足( ) A. x1为0,其他各位任意 B. x1为1,其他各位任意
C. x1为1,x2---x6中至少有一位为1 D. x1为0,x2---x6中至少有一位为1
15、设x为整数,[x]补=1.x1x2x3x4x5 ,若要x<-16,x1····x5应满足的条件是( ) A. x1····x5至少有一个为1 B. x1必须为0,x2····x5至少有一个为1 C. x1必须为0,x2····x5任意 D. x1必须为1,x2····x5任意
16、已知定点小数X的补码为1.x1x2x3 ,且X≤-0.75,则必有( )
A. x1=1, x2=0, x3=1 B. x1=1 C. x1=0,且x2x3 不全为1 D. x1=0, x2=0, x3=0
17、一个8位寄存器内的数值为11001010,进位标志寄存器C为0,若将此8位寄存器循环左移(不带进位位)1位,则该8位寄存器和标志寄存器内数值分别为 18、设机器数字长8位(含1位符号位),若机器数BAH为原码,则算
术左移1位和算术右移1位分别得 19、设机器数字长8位(含1位符号位),若机器数DAH为补码,则
算术左移1位得 ,算术右移1位得 20、设x为真值,x*为其绝对值,满足[-x*]补=[-x]补,当且仅当( ) A. x任意 B. x为正数 C. x为负数 D.以上说法都不对 21、16位补码0x8FA0扩展为32位应该是
22、在定点运算器中,无论采用双符号位还是单符号位,必须有 ,它一般用“异或”门来实现。 23、下列说法正确的是( )
A.在PC中,所表示的数有时会发生溢出,其根本原因是PC的字
长有限
B.8421码就是二进制数
C.一个正式的补码和这个数的原码表示一样,而正数的反码是原码各位取反
D.设有两个正数的规格化浮点数:N1=2m×M1,N2=2n×M2,若m>n,则有N1> N2
24、关于模4补码,下列说法正确的是( )
A. 模4补码和模2补码不同,它更容易检查乘除运算中的溢出问题 B. 每个模4补码存储时只需一个符号位 C. 存储每个模4补码需要两个符号位
D. 模4补码,在算术与逻辑部件中为一个符号位
25、假定一个十进制数为-66,按补码形式存放在一个8位寄存器中,
该寄存器的内容用十六进制表示为
26、设寄存器位数为8位,机器数采用补码表示(含1位符号位),对
应于十进制数-27,寄存器内容为 27、设寄存器位数为8位,机器数采用补码表示(含1位符号位),则
十进制数-26存放在寄存器中的内容为 28、设机器数采用补码表示(含1位符号位),若寄存器内容为9BH,
则对应的十进制数为
29、若寄存器内容为1000 0000,若它等于-0,则为 30、若寄存器内容为1000 0000,若它等于0,则为 31、若寄存器内容为1111 1111,若它等于+127,则为 32、若寄存器内容为1111 1111,若它等于-1,则为 33、若寄存器内容为0000 0000,若它等于-128,则为
34、若寄存器内容为1000 0000,若它等于-128,则为 35、若二进制定点小数真值是-0.1101,机器表示为1.0010,则为
36、下列为8位移码机器数[x]移,当求[-x]移时,( )将会发生溢出
A. 1111 1111 B.0000 0000 C.1000 0000 D.0111 1111 37、若采用双符号位,则两个正数相加产生溢出的特征时,双符号位
为
38、判断加减法溢出时,可采用判断进位的方式,如果符号位的进位
位C0,最高位的进位位C1,产生溢出的条件是( )
A. C0产生进位 B. C1产生进位 C. C0 C1都产生进位
D. C0 C1都不产生进位 E. C0产生进位,C1不产生进位
F. C0不产生生进位,C1产生进位
39、在补码的加减法中,用两位符号位判断溢出,两位符号位Ss1Ss2=10
时,表示
40、若[X]补=X0.X1X2···Xn,其中X0为符号位,X1为最高数位。若( ),
则当补码左移时,将会发生溢出。
A. X0 =X1 B. X0 ≠X1 C. X1=0 D. X1=1
41、原码乘法是( )
A.先取操作数绝对值相乘,符号位单独处理
B.用原码表示操作数,然后直接相乘
C.被乘数用原码表示,乘数去绝对值,然后相乘
D.乘数用原码表示,被乘数去绝对值,然后相乘
42、在采用原码一位乘法计算x×y 时,当乘数低位yi为1时,
43、x, y为定点整数,其格式为1位符号位,n位数值位,若采用补码
一位乘法实现乘法运算,则最多需要 次加法运算。
44、在原码一位乘法中,( )
A.符号位参加运算 B.符号位不参加运算
C. 符号位参加运算,并根据运算结果改变结果中的符号位
D.符号位不参加运算,并根据运算结果确定结果中的符号
45、原码乘法时,符号位单独处理乘积的方式是 46、实现N位(不包括符号位)补码一位乘时,乘积为 位 47、在原码不恢复余数除法(又称原码加减交替法)的算法中, 48、原码加减交替除法又称不恢复余数法,因此
49、下列关于补码除法说法正确的是( )
A.补码不恢复除法中,够减商0,不够减商1
B.补码不恢复余数除法中,异号相除时,够减商0,不够减商1
C.补码不恢复除法中,够减商1,不够减商0
D.以上都不对
50、在PC中,通常用来表示主存地址的是 51、PC内的减法是用 补数的相加 来实现的。
52、补码的加减法是指 操作数应补码表示,连同符号位直接相加减,
减某数用加某负数的补码代替,结果的符号在运算中形成。
53 、9位原码(含1位符号位)能表示的数据个数是
54、[X]补=X0.X1X2···Xn(n为整数),它的模是
55、[X]补=X0X1X2···Xn(n为整数),它的模是
二、综合应用
1、n位二进制补码整数的模是多少?数的表示范围是什么?
n位二进制补码整数是2n,表示只保留低位n位,多于n位的高位部分取模后要被丢弃掉。这种形式的数的范围为-2n-1 ~+2n-1-1 . 2、设机器字长为8位(含1位符号位),求以下各数的原码、补码和反码:1)-35/64 2) 23/128 3)-127 4)-1
3、证明: [-x]补=[ [x]补]变补
4、假设有两个整数x和y,x=-68,y=-80,采用补码形式(含1位符号位)表示,x和y分别存放在寄存器A和B中。另外,还有两个寄存器C和D,ABCD都是8位的寄存器。请回答下列问题: 1)寄存器A和B中的内容分别是什么? 2)x和y相加后的结果存放在C寄存器中,寄存器C中的内容是什
么?此时,溢出标志位OF是什么?符号位SF S是什么?进位标志位CFS是什么?
3)x和y相减后的结果存放在D寄存器中,寄存器D中的内容是
什么?此时,溢出标志位OF是什么?符号位SF S是什么?进位标志位CFS是什么?
5、已知x和y为定点小数,用双符号位补码运算方法计算x+y的值及运算结果的特征:1) x=0.1011 y=0.1100 2)x=-0.1011 y=0.1001
6、已知x和y,用双符号位补码运算方法计算x-y的值及运算结果的特征(包括几个标志位的值):
1)x=27/32 y=31/32 2)x=13/16 y=-11/16
7、已知x和y为定点小数,用进位判断法计算:
1)10/19+9/16 2)-10/16-9/16
8、已知[x]补=1.1100100,[y]补=1.0100011,计算2[x]补+[y]补/4。
9、已知[x]原=0.0111,[y]原=1.1101,试用原码一位乘求解:[x×y]原。
10、已知:被乘数x=+0.10101,乘数y=-0.11011。试用补码一位比较 乘法(Booth乘法)规则,求[x×y]补=?要求写出步骤和运算竖式。