问答题
现有一计算机字长32位(D
31
~D
0
),数符位是第31位。
对于二进制1000 1111 1110 1111 1100 0000 0000 0000,
问答题
表示一个补码整数,其十进制值是多少?
【正确答案】
【答案解析】最高位为符号位,符号位为1,表示是一个负数,对应真值的二进制为
-111 0000 0001 0000 0100 0000 0000 0000(数值位取反,末位加1)
对应的十进制值为-(2
30
+2
29
+2
28
+2
20
+2
14
)。
问答题
表示一个无符号整数,其十进制值是多少?
【正确答案】
【答案解析】全部32位均为数值位,按权相加可知其十进制值为
2
31
+2
27
+2
26
+2
25
+2
24
+2
23
+2
22
+2
21
+2
19
+2
18
+2
17
+2
16
+2
15
+2
14
。
问答题
表示一个IEEE 754标准的单精度浮点数,其值是多少?
【正确答案】
【答案解析】表示一个IEEE754标准的单精度浮点数
|
数符
|
|
阶码
|
|
尾数
|
|
1
|
;
|
00011111
|
;
|
11011111100000000000000
|
因为阶码为00011111,对应十进制数为31。IEEE 754标准中的阶码用移码表示,其偏置值为127,所以阶码的十进制真值为31-127=-96。
因为尾数为1.11011111100000000000000。IEEE 754标准中的尾数用原码表示,且采用隐含尾数最高数位“1”的方法,隐含的“1”是一位整数。所以尾数真值为
1+2
-1
+2
-2
+2
-4
+2
-5
+2
-6
+2
-7
+2
-8
+2
-9
。
因为数符为1,表示这个浮点数是个负数。所以单精度浮点数的真值为
-(1+2
-1
+2-
2
+2
-4
+2
-5
+2
-6
+2
-7
+2
-8
+2
-9
)×2
-96
。