考虑以下浮点数表示
指数采用 2 的补码表示,尾数采用符号幅度表示。此表示中归一化数字的大小范围是
一种)。 0 到 1
b)。 0.5 比 1
C)。 2 -23到 0.5
d)。 0.5 到 (1-2 -23 )
(一)
(乙)乙
(C) c
(D) d答案: (D)
说明:规范化数的形式为:1.xxxx xxxx… …xxxx {忽略符号和指数部分}。他们总是在小数点前有一个前导 1。
在此浮点表示中存储这样的数字时,可能存在两种情况:
- 情况 1:我们可以将最重要的 1 与其他位一起存储在尾数中(而尾数的 MSB 是一个符号位为“S”):
最小尾数=> S100 0000 0000 0000 0000 0000 = 1.00 0000…0000 = 1
最大尾数=> S111 1111 1111 1111 1111 1111 = 1.1111…1111 = 2 – 2 -22 - 情况 2:假设隐式 MSB 为 1,我们可以忽略这样做。
最小尾数=> S000 0000 0000 0000 0000 0000 = 1.000 0000…0000 = 1
最大尾数=> S111 1111 1111 1111 1111 1111 = 1.1111…1111 = 2 – 2 -23
因此没有一个选项匹配。
如果他们要求标准化尾数而不是标准化数字,那么以下方法将是:
尾数的最小值=>
“S100 0000 0000 0000 0000 0000”
(忽略 (-1) s作为数字的倍数,因为只询问了大小)
= 0.100 0000 0000 0000 0000 0000
= 1*2-1
= 0.5
and
maximum value of Mantissa=>
“S111 1111 1111 1111 1111 1111”
= 0.111 1111 1111 1111 1111 1111
= [(223)- 1] * 2-23
= 1-2-23
在这种情况下,选项 (D) 将是答案。
此解释由Pradeep Pandey 提供。
这个问题的测验