在标准中, NaN 和 INF 的表示形式如下:
对于 NaN :指数= emax + 1&尾数!= 0;
对于 INF :exponent = emax + 1&尾数= 0;
他们有很多方法和计算方法可以产生这两个价值。
但实际上 NaN(INF)是什么?
并且 HOW 系统“决定”或“判断”将值存储为这一个(两个)?
这可能是一个看似奇怪的案例:
a = b = 1 * 2(emax);
然后计算c = a + b,实际结果为1 * 2 ^(emax + 1);
现在,根据标准,c不是可用的FP值;
那么系统如何在设备中存储c?
NaN ?
如果是,这怎么可能合理呢?
我的意思是,1 * 2 ^(emax + 1)IS(应该)是一个数字......在一般意义上......?
如果是这种情况,那么标准如何认为NaN是什么?
如果没有,那我们该怎么处理这个?
我正在考虑这样的一个:
让eM = emax + 1;
然后1d.d ... d * 2 ^(eM-1)= 1d.d ... d * 2 ^(emax)
1d.d ... d由系统具有合法的位数。
这实际上是处理非规范化数字的方式。
这里的事情是:
判断 后或之前 是否完成计算?
如果是前者,上述可能是一个问题吗?
另一方面,那么任务似乎是不可能的......
有没有人想过这个问题?
考虑到它的Th !!
注意:还会显示+ -INF的内容。
答案 0 :(得分:1)
来自Wikipedia:
可能的五个例外是: