1 .设机器数的字长8 位(含1 位符号位) ,分别写出下列各二进制数的原码、补码和
反码:0 ,- 0 ,0 .1000 ,- 0 .1000 ,0 .1111 ,- 0 .1
111 ,1101 ,- 1101 。 解:
真 值原 码补 码反 码 0 - 0
0 .1000 - 0 .1000 0 .1111 - 0 .1111 1101 - 1101
00000000 10000000
0 .1000000 1 .1000000 0 .1111000 1 .1111000 00001101 10001101 00000000 00000000
0 .1000000 1 .1000000 0 .1111000 1 .0001000 00001101 11110011 00000000 11111111
0 .1000000 1 .0111111 0 .1111000 1 .0000111 00001101 11110010
2 .写出下列各数的原码、补码和反码:16 ,4 16 ,1
16 ,± 0 ,- 1 16 ,- 4
7
16 ,- 7 16 。 解: 7
16 = 7 × 2 - 4 = 0 .0111 4
16 = 4 × 2 - 4 = 0 .0100 1
16 = 1 × 2 - 4 = 0 .0001 数据的机器层次表示
3 3 真 值原 码补 码反 码
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 0 .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
3 .已知下列数的原码表示,分别写出它们的补码表示:[X1 ]原=
0 .10100 ,[X2 ]原=1 .10111 。 解:[X1 ]补= 0 .10100 ,[X2 ]补= 1 .01001 。
4 .已知下列数的补码表示,分别写出它们的真值:[ X1 ]补= 0 .1
0100 ,[ X2 ]补=1 .10111 。
解: X1 = 0 .10100 ,X2 = - 0 .01001 。
5 .设一个二进制小数X ≥ 0 ,表示成X = 0 .a1 a2 a3 a4 a5 a6 ,其中a1 ~ a6 取“1”或“0” :
(1) 若要X > 1/2
,a1 ~ a6 要满足什么条件? (2) 若要X ≥ 1/8
,a1 ~ a6 要满足什么条件? (3) 若要 1/4
≥ X > 1
16 ,a1 ~ a6 要满足什么条件? 解:(1) X > 12
的代码为:0 .100001 ~ 0 .111111 。 a1 = 1 ,a2 + a3 + a4 + a5 + a6 = 1 。 (2) X ≥ 1/8 的代码为:
0 .001000 1/8 …
0 .111111 6/3 6/4
a1 + a2 = 0 ,a3 = 1 或a1 = 0 ,a2 = 1 或a1 = 1 。 计算机组成原理教师用书 3 4 (3) 1/4 ≥ X > 1 16的代码为:
0 .000101 5 64 …
0 .010000 1/4
a1 + a2 + a3 = 0 ,a4 = 1 ,a5 + a6 = 1 或a1 + a2 = 0 ,a3 = 1 或a2 = 1 ,a1 + a3 + a4 + a5 + a6 = 0 。
6 .设[X]原= 1 .a1 a2 a3 a4 a5 a6 ,
(1) 若要X > - 1/2
,a1 ~ a6 要满足什么条件? (2) 若要- 1/8 ≥ X ≥ - 1/4
,a1 ~ a6 要满足什么条件? 解:(1) X > - 1/2 的代码为:
1 .000001 - 1 64 …
1 .011111 - 3/1 64
a1 = 0 ,a2 + a3 + a4 + a5 + a6 = 1 。 (2) - 1/8 ≥ X ≥ - 1/4 的代码为:
1 .001000 - 1/8 1 .001001 - 9 64 …
1 .001111 - 1/5 64
1 .010000 - 1/4 a1 + a2 = 0 ,a3 = 1 或a2 = 1 ,a1 + a3 + a4 + a5 + a6 = 0 。
7 .若上题中[X]原改为[X]补,结果如何?
解:设[X]补= 1 .a1 a2 a3 a4 a5 a6 , (1) X > - 1/2 的代码为:
最新计算机组成原理习题答案第二章



