计算机组成与系统结构期末复习
第二章
1.计算机为什么采用二进制?
1.二进制只有两种状态,使用有两个稳定状态的物理器件就可以表示二进制数的每一位,而制造有两个稳定状态的物理器件要比制造有多个稳定状态的物理器件容易得多。例如,用高、低两个电位,或用脉冲的有无,或脉冲的正负极性等都可以很方便、很可靠地表示0和1.
2.二进制的编码和运算规则都很简单。可用开关电路实现,简便易行。
3.两个符号1和0正好与逻辑命题的两个值“真”和“假”相对应,为计算机中实现逻辑运算和程序中的逻辑判断提供了便利的条件,特别是能通过逻辑门电路方便地实现算数运算
2.定点数(定点整数,定点小数)的编码表示方法有哪四种?
1、源码表示法。
2、补码表示法。
3、反码表示法。
4、移码表示法。
3.对于浮点表示格式X = (-1)S ×M×R**E,其中S, M, R分别表示什么含义?
S取值为0或1用来决定数X的符号(一般用0表示正,1表示负)M是一个二进制点小数,称为数X的尾数数
r称为浮点数的基数
4.为什么要对浮点数进行规格化操作?若浮点数的基数为2,则尾数规格化的浮点数的形式是什么?规格化操作分为哪两种?
①为了在浮点数运算过程中尽可能更精确多位小数,使有效数字占满尾数数位,因此必须在运算过程中对浮点数规格化操作,同时还能使浮点数的表示具有唯一性
② (这里b是0或1)
③左规和右规。
5.在IEEE754标准中有哪两种基本浮点格式?
32位单精度和64位双精度格式。32位单精度格式中包含1位符号s、8位阶码e和23位尾数f;64位双精度格式包含1位符号s、11位阶码e和52位尾数f。
6.定点数的4种编码表示方法中,哪几种对零的表示是唯一的?
补码 移码
7.C语言中哪几种基本数据类型对应无符号整数?哪几种基本类型能对应有符号整数
C语言中unsigned short、unsigned int、unsigned long对应无符号整数
C语言中short、 int、long对应有符号整数
8.C语言中对应于IEEE754单精度浮点数和双精度浮点数的数据类型分别是什么?
Float为单精度,内存中占4个字节,有效数位是7位
double为双精度,占8个字节,有效数位是16位。
9. 实现下列各数的转换。
(25.8125)10= (?)2= (?) 8= (?) 16
(4E.C)16 = (?)10= (?) 2
解:(25.8125)10= (11001.1101)2= (31.64) 8= (19.D) 16
(4E.C)16 = (78.75)10= (0100 1110.11) 2
10.已知 [x]补,求x
(1)[x]补=1.1100111 (2)[x]补=10000000
(3)[x]补=0.1010010 (4)[x]补=11010011
解:1.[x]补=1.1100111 x=-0.0011001B
2.[x]补=10000000 x=-10000000B=-128
3.[x]补=0.1010010 x=+0.101001B
4.[x]补=11010011 x=-101101B=-45
11.参考教材P43例2.22,将(-110.11)2用IEEE754单精度形式表示出来。
阶符s= 1
E 1.M×2的平方
127+2=129 二进制1000 0001
E=1000 0001
尾数位m:1011000 0000 0000 0000 0000
所以标准化浮点数表示为:二进制11000 0001101100…
01
E=1000 0001
尾数位m:1011000 0000 0000 0000 0000
所以标准化浮点数表示为:二进制11000 0001101100…
十六进制C0D80000H