n和e方面的最大正有限IEEE数?

时间:2014-03-05 01:30:27

标签: c floating-point ieee

嗨,我正在为我的计算机科学课做作业,我坚持这个问题。

给定具有e指数位的n位的IEEE浮点格式,给出

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

就n和e而言。

有人可以帮助解释这些并解释原因吗?非常感谢你

3 个答案:

答案 0 :(得分:0)

浮点数可以表示为

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

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

答案 1 :(得分:0)

C

您可以向相应的标头询问此类信息,在本例中为float.h

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

您可以从我刚刚链接的文档中选择正确的宏。

答案 2 :(得分:0)

a)最大的有限正数。

签署+
 N位1.111 ... 1111
 e指数位:111 .... 110 - 偏差(图案111 .... 111保留用于INF和NaN)
 偏差:通常是e的1/2或011 ... 111

+1.1111111 .... * power(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)(min exponent有-1偏差)
 偏见:通常是1/2路011 ... 111

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

c)最低ULP。

最后一个单位

b中的

+答案版本。