第二章 习题解答
1.设机器数的字长8位(含1位符号位),分别写出下列各二进制数的原码、补码和 反码:0,-0,,,,,1101,-1101。 解:
真值 O -O 110l -110l
原码 OOOOOOO0 1OOOOOOO 00001101 补码 OOOOOOO0 OOOOOOO0 00001101 反码 OOOOOOO0 00001101 2.写出下列各数的原码、补码和反码:7/16,4/16,1/16,±0,-7/16,-4/16,-1/16。 解:
7/16=7*2= 4/16=4*2= 1/16=1*2=
真值 原码 补码 反码
-4-4-4
7/16 4/16 1/16 +0 -0
-1/16 -4/16 -7/16
3.已知下列数的原码表示,分别写出它们的补码表示:[X1]原=,[X2]原=。 解:[X1]补=,[X2]补=。
4.已知下列数的补码表示,分别写出它们的真值:[X1]补=,[X2]补=。 解: X1=, X2=。
5.设一个二进制小数X≥0,表示成X=,其中a1~a6取“1”或“O”: (1)若要X>1/2,a1~a6要满足什么条件 (2)若要X≥1/8,a1~a6要满足什么条件 (3)若要1/4≥X>1/16,a1~a6要满足什么条件 解:(1) X>1/2的代码为:
~。
a1=1,a2+a3+a4+a5+a6=1。 (2) X≥1/8的代码为:
~(1/8~63/64)
a1+a2=0, a3=1或a1=0,a2=1,或a2=1
(3)1/4≥X>1/16的代码为:
~(5/64~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)若要X>-1/2,a1~a6要满足什么条件 (2)若要-1/8≥X≥-1/4,a1~a6要满足什么条件 解:(1) X>-1/2的代码为:
~(-1/64~-31/64)。
a1=0,a2+a3+a4+a5+a6=1。 (2) -1/8≥X≥-1/4的代码为:
~(-1/8~-1/4)
a1+a2 =0, a3=1或a2=1,a1+a3+a4+a5+a6=0
7.若上题中[X]原改为[X]补,结果如何 解:
(1) X>-1/2的代码为:
~(-31/64~-1/64)。
a1=1,a2+a3+a4+a5+a6=1。 (2) -1/8≥X≥-1/4的代码为:
~(-1/4~-1/8)
a1*a2=1, a3=0或a1*a2*a3=1, a4+a5+a6=0
8.一个n位字长的二进制定点整数,其中1位为符号位,分别写出在补码和反码两种情况下:
(1)模数;(2)最大的正数; (3)最负的数;(4)符号位的权; (5)-1的表示形式;(6)O的表示形式。
解:
补码 反码
模数 Mod2
n-1
n
Mod(2-1)
n-1
n
最大的正数 2-1 2-1 最负的数 -2符号位的权 2
n-1
-(2-1)
n-1
n-1
n-1
2