问答题 现有一计算机字长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