-2

嗨,我正在为我的计算机科学课做作业,我被这个问题困住了。

给定 n 位和 e 指数位的 IEEE 浮点格式,给出以下表达式

  • a) 最大的有限正数。
  • b) 最大(最接近于 0)的负数。
  • c) 最低 ULP。

在 n 和 e 方面。

有人可以帮助解决这些问题并解释原因吗?太感谢了

4

3 回答 3

0

C这种情况下,您可以只向适当的标题询问此类信息float.h

#include <stdio.h>
#include <float.h>
int main()
{
    printf("%lf \n", FLT_MAX);
    return (0);
}

更多信息,您只需从我刚刚链接的文档中选择正确的宏。

于 2014-03-05T01:52:01.797 回答
0

a) 最大的有限正数。

符号 +
N 位 1.111...1111
e 指数位:111....110 - 偏差(模式 111....111 为 INF 和 NaN 保留)
偏差:通常为 e 的 1/2 或 011...111

+1.1111111.... * 功率(2, 111...110 - 偏置)
~ +1.0 * 功率(2, 111...111 - 偏置)
~ +1.0 * 功率(2, 100...000)
~功率(2,功率(2,e-1))

b) 最大(最接近于 0)的负数。

符号 -
N 位 0.000...001
e 指数位:000....000 - (bias-1)(最小指数有 -1 偏差)
偏差:通常为 1/2 路 011...111

-0.000...001 * 功率(2, 000...000 - (bias-1))
-0.000...001 * 功率(2, 000...000 - (bias-1))
-1.0 * 功率(2, -N - (bias-1))
-1.0 * power(2, -N - (bias-1))
-power(2, power(2,-N - (power(2,e-1))- 1-1)))

c) 最低 ULP。

单位在最后一位

+b中的答案版本。

于 2014-03-05T04:49:15.097 回答
0

浮点数可以表示为

(-1)^Sign * Number * 2 ^ Exponent

通常数字有 23 位,指数有 8 位,符号有 1 位。这样你就可以回答 1) 和 2)。我不知道 ULP 是什么。

于 2014-03-05T01:43:19.143 回答