【星海随笔】数据的表示与运算
Q1.假设机器数为 8 位(1位符号,7位数值),写出下列各二进制小数的源码表示。
- 0.1001 , - 0.1001 , + 1.0 , - 1.0 , + 0.010100 , - 0.010100 , + 0 ,- 0
A:+0.1001
1 * 2 ^ -1 + 1 * 2 ^ -4
= (1/2) + (1/16)
= 0.5 + 0.0625
= 0.5625 [10]
对于小数原码,格式为:[ 符号位 ] [ 数值位 (小数点后部分) ]
0.1001000
B -0.1001
1.1001000
C +1.0
- 1.0 无法用 8 位原码小数表示,会溢出
D -1.0
- 1.0 无法用 8 位源码小数表示,会溢出
E + 0.010100
2 ^ -2 + 2 ^ -4 = (1/4) + (1/16) = 0.25 + 0.625 = 0.875
0 010 1000
F - 0.010100
1 010 1000
G + 0
<