【问题标题】:Smallest positive number with the following format具有以下格式的最小正数
【发布时间】:2014-04-29 11:54:59
【问题描述】:

12 位浮点数:1 位符号,4 位指数,7 位有效数。

有效数已标准化,因此小数点右侧的第一个数字必须是 1。 指数是有符号 2 的补码。 指数没有偏差。有效数字没有隐含位。

12位数字的最小正数和它所代表的十进制数是多少?

关于指数,在无偏 2 的补码中,我知道最小的 4 位负数是 1000,即十进制的 -8。

最小有效数是 1000000。

因此,我得到的 12 位数字是 0 1000 1000000。

我遇到的问题是,当把这个数字转换成十进制时,是吗

[ 1 (base 2) x 2^-8 = .00390625 ] 还是 [ .1 (base 2) x 2^-8 = .001953125 ]?

我认为是 .001953125。我是正确的,还是 .00390625?

非常感谢!

【问题讨论】:

    标签: floating-point type-conversion decimal signed twos-complement


    【解决方案1】:

    使用 12 位表示的最小正数是:2^(-8) = 0.00390625。 见:http://en.wikipedia.org/wiki/Scientific_notation#Normalized_notation

    【讨论】:

    • 感谢您的快速答复!但是,如问题中所述,有效数字左侧没有隐含的 1。您是否还在声称,没有隐含位,0 1000 1000000 仍然是 2^(-8) = 0.00390625?
    • 是的。因为在这种情况下,有效位仍然代表数字 1。见:en.wikipedia.org/wiki/Scientific_notation#Normalized_notation
    • 明白了!非常感谢。关于有效位的页面en.wikipedia.org/wiki/Significand#Examples也证实了这一点。引用,根据对指数的解释,有效数可以表示整数或分数。
    猜你喜欢
    • 2012-06-26
    • 2017-12-23
    • 1970-01-01
    • 2015-11-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-12
    相关资源
    最近更新 更多