试题 1 分析
采用 8 位整数补码表示数据,数据的表示范围是−128 至 127,因此在各选择中运算会发生溢出的是C。
试题 1 答案
(1)C
试题 2 分析
在计算机中,各类运算都可以采用补码进行,特别是对于有符号数的运算。在计算机中设计补码的目的一是为了使符号位能与有效值部分一起参加运算,从而简化运算规则,使运算部件的设计更简单;二是为了使减法运算转换为加法运算,进一步简化计算机中运算器的线路设计。因此在计算机系统中常采用补码来表示和运算数据,原因是采用补码可以简化计算机运算部件的设计。
试题 2 答案
(2)B
试题 3 分析
浮点数的表示形式如下:
N = M × r E
其中 r 是浮点数阶码的底,与尾数的基数相同,通常 r =2。 E 和 M 都是带符号的定点数, E 叫作阶码, M 叫作尾数。浮点数的一般格式如图 1-1 所示,浮点数的底是隐含的,在整个机器数中不出现。阶码的符号位为 E s ,阶码的大小反映了在数 N 中小数点的实际位置;尾数的符号位为 M s ,它也是整个浮点数的符号位,表示了该浮点数的正、负。
图 1-1 浮点数的一般格式
浮点数的大小由阶码部分决定,而其精度由尾数部分决定,因此增加 E 的位数、减少 M 的位数可以扩大可表示的数的范围的同时降低精度。
试题 3 答案
(3)A
试题 4 分析
本题考查计算机系统数据编码基础知识。
设机器字长为 n (即采用 n 个二进制位表示数据),最高位是符号位,0 表示正号,1 表示负号。
原码表示方式下,除符号位外, n −1 位表示数值的绝对值。因此, n 为 8 时,[+0]原=0 0000000,[−0] 原 =1 0000000。
正数的反码与原码相同,负数的反码则是其绝对值按位求反。 n 为 8 时,数值 0 的反码表示有两种形式:[+0] 反 =0 0000000,[−0]反=11111111。
正数的补码与其原码和反码相同,负数的补码则等于其反码的末尾加 1。在补码表示中,0 有唯一的编码:[+0] 补 =0 0000000,[−0] 补 =00000000。
移码表示法是在数 X 上增加一个偏移量来定义的,常用于表示浮点数中的阶码。机器字长为 n 时,在偏移量为 2 n -1 的情况下,只要将补码的符号位取反便可获得相应的移码表示。
试题 4 答案
(4)C
试题 5 分析
本题考查浮点数运算的基本过程。该过程分为如下 3 步。
第 1 步:对阶,规则是向大阶看齐。具体方法是:阶码小的那个尾数右移,移位的次数等于参加运算的两个数的阶码之差。
第 2 步:尾数相加。实际上进行的是定点数加法。
第 3 步:结果的后处理。包括如下 3 个方面。
(1)如果运算结果的尾数部分溢出,则需要向右规格化一位。具体方法是:尾数部分右移一位,阶码加 1。
(2)如果运算结果的最高位为 0,则需要向左规格化,并且要重复进行,直到尾数的最高位不为 0。尾数部分每左移一位,阶码必须减 1。
(3)进行舍入处理。
所以本题的正确答案为D。
试题 5 答案
(5)D