一、选择题
1 某机字长32位,其中1位表示符号位。若用定点整数表示,则最小负整数为( A )。
A -(231-1)
B -(230-1)
C -(231+1)
D -(230+1)
2 某机字长64位,1位符号位,63位表示尾数,若用定点整数表示,则最大正整数位( A )。
A +(263-1)
B +(264-1)
C -(263-1)
D -(264-1)
3 以下有关运算器的描述,( C )是正确的。
A 只做加法运算
B 只做算术运算
C 算术运算与逻辑运算
D 只做逻辑运算
4 在机器数( C )中,零的表示形式是唯一的。
A 原码和反码
B 反码和补码
C 补码和移码
D 移码和反码
5 在定点二进制运算器中,减法运算一般通过( D )来实现。
A 原码运算的二进制减法器
B 补码运算的二进制减法器
C 原码运算的十进制加法器
D 补码运算的二进制加法器
6 已知X为整数,且〔X 〕补=10011011,则X的十进制数值是( B )
反码 10011010 原码 11100101 -(64+32+4+1) = -101
A +155
B -101
C -155
D +101
7 设[X]补=1.X1X2X3,仅当(A )时,X>-1/2成立。
(1.1xx -> 反码 1.1(x)(x)原码 1.0()();
A X1必须为1,X2X3至少有一个为1(反码变补码末尾加1)
B X1必须为1,X2X3任意
C X1必须为0,X2X3至少有一个为1
D X1必须为0,X2X3任意
8 设有7位信息码0110101,则低位增设偶校验位后的代码为( A )。
偶校验码 1的个数为偶数为0 1的个数为奇数为1
奇校验码则相反。
A 01101010
B 00110101
C 01101011
D 10110101
9 一个16×16点阵的汉字,需要( B )字节的存储空间。
A 56
B 32
C 42
D 72
10 下列数中最小的数是( C )。
A (101001)
2 B (52)
8
C (101001)
BCD D (233)
16
二、填空题
1 字符信息是符号数据,属于处理非数值领域的问题,国际上采用的字符系统是七位的( ASCII )码。
2 按IEEE754标准,一个32位浮点数由符号位S(1位)、阶码E(8位)、尾数M(23位)三个域组成。其中阶码E的值等于指数的真值( e )加上一个固定的偏移值(127 )。
3 码值FFH:若表示真值127,则为(移码)码;若表示-127,则为(原码)码;若表示-1,则为(补码)码;若表示-0,则为(反码)码。
FFH 11111111 反 10000000 补码 10000001
4定点32位字长的字,采用2的补码形式表示时,一个字所能表示的整数范围是(-2^31 – 2^31-1 )。
n-1;
1.5 IEEE754标准规定的64位浮点数格式中,符号位为1位,阶码为11位,尾数为52位,则它能表示的最大规格化正数为((2-2-52)×21024)。
1.m * 2^ (e - 1024)
6 浮点加、减法运算的步骤是(0操作数检查)、(比较阶码并对阶)、(尾数求和)、(结果规格化)、(舍入处理)、(溢出处理)。
7 十进制数在计算机内有两种表示形式:(字符串)形式和(压缩的十进制数串)形式。前者主要用在非数值计算的应用领域,后者用于直接完成十进制数的算术运算。
8 一个定点数由符号位和数值域两部分组成。按小数点位置不同,定点数有(定点小数)和(定点整数)两种表示方法。
9直接使用西文键盘输入汉字,进行处理,并显示打印汉字,要解决汉字的(输入码)、(字码)和(内模码)三种不同用途的编码。
10在计算机中存放25个汉字,需( 50 )个字节存储。
三、综合题
1 已知x=-0.01111,y=+0.11001,求:
① [x]
补,[-x]
补
,[y]
补
,[-y]
补
;
②用变形补码计算x+y,x-y,并判断是否溢出。
2 设机器字长为16位,写出下列各种情况下它能表示的数的范围。假设定点数采用1位符号位。
①无符号数;
②原码表示的定点小数;
③补码表示的定点小数;
④原码表示的定点整数;
⑤补码表示的定点整数;
⑥假设浮点数阶码5位(含1位阶符),尾数11位(含1位数符),机器数采用原码规格化形式,分别写出其对应的正数和负数范围;
⑦假设浮点数格式同⑥,机器数采用补码规格化形式,分别写出其对应的正数和负数范围。
3设浮点数字长16位,其格式如下所示。
阶码采用移码表示,尾数采用补码表示,计算下列机器数的十进制数值。
①81D0H ②7E60H
4(2011年考研真题)假定在一个 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)计算机内部如何判断带符号整数加/减运算的结果是否发生溢出?上述程序段中,哪些带符号整数运算语句的执行结果会发生溢出?