嗨,我正在为我的计算机科学课做作业,我坚持这个问题。
给定具有e指数位的n位的IEEE浮点格式,给出
的表达式就n和e而言。
有人可以帮助解释这些并解释原因吗?非常感谢你
答案 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中的 +
答案版本。