【发布时间】:2018-10-23 08:46:48
【问题描述】:
我有一个关于浮点的问题。 问题: 给定一个具有 1 个符号位、8 个指数位的浮点格式,以及 23 个小数位。 可以精确表示的最大奇数浮点数是多少?
我不确定,但我认为它 = 2^(尾数位 + 1) - 1
希望有人可以帮助我解决这个问题。
【问题讨论】:
-
看起来差不多。应该很容易检查。
我有一个关于浮点的问题。 问题: 给定一个具有 1 个符号位、8 个指数位的浮点格式,以及 23 个小数位。 可以精确表示的最大奇数浮点数是多少?
我不确定,但我认为它 = 2^(尾数位 + 1) - 1
希望有人可以帮助我解决这个问题。
【问题讨论】:
为了澄清术语,IEEE-754 基本 32 位二进制浮点格式的有效位数为 24。23 是用于编码大部分有效位数的字段中的位数。附加位通过指数字段进行编码。数学有效数的位数为 24。
因此,当有效数字的低位表示 20 时,有效数字可以具有的最大值是 224-1。这当然很奇怪。如果将指数设置为更高的数字,则它没有表示奇数的位,因此表示的数字必然是偶数。如果指数设置为缩小数字,则它不能大到 224-1。因此,224-1 是 IEEE-754 基本 32 位二进制浮点格式中可表示的最大奇数。
一般来说,如果浮点格式使用基数 b,具有 p 基数-b 位,并且最大指数为E 使得最大可表示值为 (bp-1) × bE,然后:
(以正常特征为准,如E为正,p至少为1。)
【讨论】: