计算机组成原理 第二章 习题 - 1.曲待续

时间:2024-03-17 14:53:52

计算机组成原理 第二章 习题

2-1设机器数的字长为8位(含1为符号位),分别写成下列各二进制数的原码、补码和反码。

      0-00.1000-0.10000.1111-0.11111101-1101

____________________________________________

真值             原码         补码             反码

-----------------------------------------------------------------

0              00000000      00000000      00000000

-0             10000000      00000000      11111111

0.1000          0.1000000     0.1000000     0.1000000

-0.1000         1.1000000     1.1000000     1.0111111

0.1111          0.1111000     0.1111000      0.1111000

-0.1111         1.1111000     1.0001000     1.0000111

1101           00001101      00001101     00001101

-1101          10001101      11110011      11110010

------------------------------------------------------------------

 

2-2写出下列各数的原码、补码和反码

7/16, 4/16, 1/16,±0, -1/16, -4/16,-7/16

解:7/16=7*2^4=0.0111

      4/16=4*2^4=0.0100

      1/16=1*2^4=0.0001

真值                    原码                    补码                           反码

7/16                     0.0111                  0.0111                         0.0111

4/16                     0.0100                 0.0100                        0.0100

1/16                     0.0001                 0.0001                        0.0001

+0                       0.0000                 0.0000                        0.0000

-0                        1.0000                 1.0000                        1.1111

-1/16                    1.0001                 1.1111                         1.1110

-4/16                    1.0100                 1.1100                         1.1011

-7/16                    1.0111                  1.1001                        1.1000

 

2-3已知下列的原码表示,分别写出它们的补码表示

[X]=0.10100,[X]=1.10111

[X]=0.10100->[X]=0.01100

[X]=1.10111->[X]=1.01001

 

2-4已知下列数的补码表示,分别写出它们的真值。

[X]=0.10100, [X]=1.10111

[X]=0.10100->X=0.10100

[X]=1.10111->X=0.01001

 

2-5设一个数二进制数X0,表示成X=0.A1A2A3A4A5A6,其中A1~A610.

1)若要X>1/2,A1~A6要满足什么条件?

解:X>1/2的代码为:0.100001~0.111111

A1~A6要满足:A1=1,A2+A3+A4+A5+A6=1;

 

2)若要X1/8A1~A6要满足什么条件?

解:X1/8的代码为:0.001000~0.111111

      A1~A6要满足:A1+A2=0,A3=1;

 

3)若要1/4X>1/16A1~A6要满足什么条件?

解:1/4X>1/16代码为:0.000101~0.010000

A1~A6要满足:A2=1,A1+A3+A4+A5+A6=0

 

2-6[X]=1. A1A2A3A4A5A6,

1)若要X>-1/2,A1~A6要满足什么条件?

      解:X>-1/2的代码为:

                       1.000001   -1/64

                       ………

                       1.011111        -31/64

A1~A6要满足:A1=0,A2+A2+A3+A4+A5+A6=1

2)若要-1/8X-1/4.A1~A6要满足什么条件?

      解:-1/8X-1/4代码为:

                       1.000001    -1/64

                       1.001001    -9/64

                        ……..

                       1.001111        -15/64

                       1.010000       -1/4

A1~A6要满足:A1+A2=0,A3=1;

 

2-7若习题2-6中的[X]改为[X]结果如何?

解:X>-1/2的代码为:

                    1.100001   -31/64

                     …….            

                    1.111111        -1/64

A1~A6要满足:A1=1,A2+A3+A4+A5+A6=1

-1/8X-1/4代码为:

                   1.110000       -1/4

                   1.110001       -15/64

                   …….

                   1.110111        -9/64

                  1.111000       -1/8

A1~A6要满足:A1·A2=1,A3=0

 

2-8一个n位字长的二进制定点整数,其中一位为符号位,分别写出在补码和反码两种情况下:

1)模数;                      (2)最大的正数;

3)最负的数;                  4)符号位的权;

5-1的表示形式;               60的表达形式;

 

 

2-9某计算机字长为16位,简述下列几种情况下所能表示数值的范围。

1)无符号整数;                  2)用原码表示定点小数;

3)用补码表示定点小数;    4)用原码表示定点整数;

(5)用补码表示的定点整数

2-10某计算机字长为32位,试分别写出无符号整数和带符号整数(补码)的表示范围(用十进制表示)

 

 

2-11某浮点数字长为12位,其中阶符为1位,阶码数值为3位,数符为1位,尾数数值为7位,阶码以2为底,阶码和尾数均用补码表示。它所能表示的最大整数是多少?最小规格化正数是多少?绝对值最大负数是多少?

2-12某浮点数字长为16位,其中阶码分为6位(含1位阶符),移码表示,以2为底;尾数部分为10位(含1位数符,位于尾数最高位),补码表示,规格化。分别写出下列情况的二进制代码与十进制真值。

1)非零最小正数;               2)最大正数

3)绝对值最小负数;           4)绝对值最大负数

                     

 

 

2-13一浮点数,器阶码部分分为p位,尾数部分分为q位,各包含1位符号位,均用补码表示;尾数基数r=2,该浮点数格式所能表示数的上限、下限及非零的最小正数是多少?写出表达式。

2-14若上题尾数基数r=16,按上述要求写出表达式。

2-15某浮点数字长为32位,格式如下。其中阶码部分为8位,以2为底,移码表示;尾数部分一共24位(含1位数符),补码表示。现有一浮点代码为(8C5A3E0016,试写出它能表示的十进制真值。

0          7  8  9           31

阶码         数符            尾数

解:(8C5A3E0016 =1000 1100 0100 1010 0011 1110 0000 0000B

符号位=1

阶码=00011000

尾数=10110100011111000000000

0.10110100011111*2^12=(101101000111.11)2=(2887.75)10

 

 

2-16试将(-0.11012IEEE短浮点数格式表示出来。

解:0.1101=1.101*2^-1

 符号位=1

 阶码=127-1=126

10111111010100000000000000000000

结果=BF500000H

 

2-17将下列十进制数转换为IEEE短浮点数:

128.75;     (2) 624;    (3) -0.625;

(4)+0.0;   (5)-1000.5

解:(128.75=11100.11=1.110011*2^4

符号位=0

阶码=127+4=131

01000001111001100000000000000000

结果=41E60000H

2624=1001110000=1.001110000*2^9

符号位=0

阶码=127+9=136

0100010000011100000000000000000

结果=441C0000H

3-0.625=-0.101=-1.01*2^-1

符号位=1

阶码=127-1=126

11000100000111000000000000000000

结果=BF200000H

4+0.0

结果=00000000H

5-1000.5=1111101000.1=1.1111010001*2^9

符号位=1

阶码=127+9=136

11000100011110100010000000000000

 

 

 

 

2-18将下列IEEE短浮点数转换为十进制数:

111000000 11110000 00000000 00000000

200111111 00010000 00000000 00000000

301000011 10011001 00000000 00000000

401000000 00000000 00000000 00000000

501000001 00100000 00000000 00000000

600000000 00000000 00000000 00000000

解:

1110000001111 00000000000000000000

符号位=1

阶码=129-127=2

1.111*2^2=111.1B=7.5

所以结果=-7.5

200111111000100000000000000000000

符号位=0

阶码=126-127=-1

1.001*2^-1=0.1001B=0.5625

所以结果=0.5625

301000011100110010000000000000000

符号位=0

阶码=135-127=8

1.0011001*2^8=100110010B=306

所以结果=306

40100000000000000 00000000 00000000

符号位=0

阶码=128-127=1

1.0*2=10B=2

所以结果=2

501000001001000000000000000000000

符号位=0

阶码=130-127=3

1.01*2^3=1010B=10

所以结果=10

600000000 00000000 00000000 00000000

阶码和尾数都等于0,所以结果也等于0

 

2-19对下列ASCII码进行译码。

1001001010000111000011110111

1000101101000010101110100100

解:译码结果分别为:I,!,awEPW$

 

2-20以下列形式表示(5382)10.

18421码;    2)余3码;     32421码;    4)二进制数

解:

8421码:0110 0011 1000 0010

3码:1000 0110 1011 0101

2421码:1011 0011 1110 0010

二进制:1010100000110

2-21填写下列代码的奇偶校验位,现设为奇校验。

1 0 1 0 0 0 0 1

0 0 0 1 1 0 0 1

0 1 0 0 1 1 1 0

解:1 0 1 0 0 00 1的奇偶校验位是0

0 0 0 1 1 0 0 1的奇偶校验为位是0

0 1 0 0 1 1 1 0的奇偶校验位是1