【课后习题答案】数据的表示与运算
2011-12-15 14:59阅读:
2. 已知X=0.a1a2a3a4a5a6(ai为0或1),讨论下列几种情况时ai各取何值。
(1)

(2)

(3)

解: (1)若要
,只要a1=1,a2~a6不全为0即可。
(2)若要
![clip_image004[1] clip_image004[1]](http://s1.sinaimg.cn/bmiddle/&690)
,只要a1~a3不全为0即可。
(3)若要
![clip_image006[1] clip_image006[1]](http://s1.sinaimg.cn/bmiddle/&690)
,只要a1=0,a2可任取0或1;
当a2=0时,若a3=0,则必须a4=1,且a5、a6不全为0;
若a3=1,则a4~a6可任取0或1;
当a2=1时, a3~a6均取0。
3. 设x为整数,[x]
补=1,x1x2x3x4x5,若要求 x < -16,试问 x1~x5
应取何值?
解:若要x < -16,需 x1=0,x2~x5 任意。(注:负数绝对值大的补码码值反而小。)
4. 设机器数字长为8位(含1位符号位在内),写出对应下列各真值的原码、补码和反码。
-13/64,29/128,100,-87
解:真值与不同机器码对应关系如下:
真值
|
-13/64
|
29/128
|
100
|
-87
|
二进制
|
-0.001101
|
0.0011101
|
1100100
|
-1010111
|
原码
|
1.001 1010
|
0.001 1101
|
0110 0100
|
1101 0111
|
补码
|
1.1100110
|
0.001 1101
|
0110 0100
|
10101001
|
反码
|
1.1100101
|
0.001 1101
|
0110 0100
|
10101000
|
5. 已知[x]
补,求[x]
原和x。
[x1]
补=1.1100; [x2]
补=1.1001;
[x3]
补=0.1110;
[x4]
补=1.0000;
[x5]
补=1,0101; [x6]
补=1,1100;
[x7]
补=0,0111; [x8]
补=1,0000;
解:[x]
补与[x]
原、x的对应关系如下:
[x]补
|
1.1100
|
1.1001
|
0.1110
|
1.0000
|
1,0101
|
1,1100
|
0,0111
|
1,0000
|
[x]原
|
1.0100
|
1.0111
|
0.1110
|
无
|
1,1011
|
1,0100
|
0,0111
|
无
|
x
|
-0.0100
|
-0.0111
|
0.1110
|
-1
|
-1011
|
-100
|
0,0111
|
-10000
|
6.
设机器数字长为8位(含1位符号位在内),分整数和小数两种情况讨论真值x为何值时,[x]
补=[x]
原成立。
解:当x为小数时,若x³ 0,则
[x]
补=[x]
原成立;
若x < 0,当x= -1/2时,[x]
补=[x]
原=1.100 0000,则
[x]
补=[x]
原成立。
当x为整数时,若x³0,则
[x]
补=[x]
原成立;
若x< 0,当x= -64时,[x]
补=[x]
原=1,100 0000,则
[x]
补=[x]
原成立。
7. 设x为真值,x*为绝对值,说明[-x*]
补=[-x]
补能否成立。
解:当x为真值,x*为绝对值时,[-x*]
补=[-x]
补不能成立。原因如下:
(1)当x<0时,由于[-x*]
补是一个负值,而[-x]
补是一个正值,因此此时[-x*]
补=[-x]
补不成立;
(2)当x³0时,由于-x*=-x,因此此时
[-x*]
补=[-x]
补的结论成立。
8. 讨论若[x]
补>[y]
补,是否有x>y?
解:若[x]
补>[y]
补,不一定有x>y。 [x]补 > [y]补时 x
> y的结论只在 x > 0且y > 0,及 x<0且y<0时成立。
由于正数补码的符号位为0,负数补码的符号位为1,当x>0、
y<0时,有x>y,但则[x]
补<[y]
补;同样,当x<0、 y
>0时,有x < y,但[x]
补>[y]
补。
9.
当十六进制数9B和FF分别表示为原码、补码、反码、移码和无符号数时,所对应的十进制数各为多少(设机器数采用一位符号位)?
解:真值和机器数的对应关系如下:
9BH
|
原码
|
补码
|
反码
|
移码
|
无符号数
|
对应十进制数
|
-27
|
-101
|
-100
|
+27
|
155
|
FFH
|
原码
|
补码
|
反码
|
移码
|
无符号数
|
对应十进制数
|
-128
|
-1
|
-0
|
+128
|
256
|
10. 在整数定点机中,设机器数采用1位符号位,写出±0的原码、补码、反码和移码,得出什么结论?
解:0的机器数形式如下:(假定机器数共8位,含1位符号位在内)
真值
|
原码
|
补码
|
反码
|
移码
|
+0
|
0 000 0000
|
0 000 0000
|
0 000 0000
|
1 000 0000
|
-0
|
1 000 0000
|
0 000 0000
|
1 111 1111
|
1 000 0000
|
结论:0的原码和反码分别有+0和-0两种形式,补码和移码只有一种形式,且补码和移码数值位相同,符号位相反。
11.
已知机器数字长为4位(含1位符号位),写出整数定点机和小数定点机中原码、补码和反码的全部形式,并注明其对应的十进制真值。
整数定点机
|
小数定点机
|
原码
|
补码
|
反码
|
真值
|
原码
|
补码
|
反码
|
真值
|
0,000
|
0,000
|
0,000
|
+0
|
0.000
|
0.000
|
0.000
|
+0
|
0,001
|
0,001
|
0,001
|
1
|
0.001
|
0.001
|
0.001
|
0.125
|
0,010
|
0,010
|
0,010
|
2
|
0.010
|
0.010
|
0.010
|
0.250
|
0,011
|
0,011
|
0,011
|
3
|
0.011
|
0.011
|
0.011
|
0.375
|
0,100
|
0,100
|
0,100
|
4
|
0.100
|
0.100
|
0.100
|
0.500
|
0,101
|
0,101
|
0,101
|
5
|
0.101
|
0.101
|
0.101
|
0.625
|
0,110
|
0,110
|
0,110
|
6
|
0.110
|
0.110
|
0.110
|
0.750
|
0,111
|
0,111
|
0,111
|
7
|
0.111
|
0.111
|
0.111
|
0.875
|
1,000
|
0,000
|
1,111
|
-0
|
1.000
|
0.000
|