列文托夫
看来IEEE 754标准定义了16777214个32位浮点值作为NaN,或占所有可能值的0.4%。
我想知道保留这么多有用值的原理是什么,而实际上只需要两个值:一个用于发信号,一个用于安静的NaN。
抱歉,如果这个问题很琐碎,我在互联网上找不到任何解释。
罗伯特·哈维
IEEE-754标准将NaN定义为指数全为1的数字,并且非零有效数字。有效位中的最高位指定NaN是信令还是静默信号。有效位数的其余位形成NaN的有效负载。
每当一个操作的操作数之一为NaN时,结果为NaN,并且结果的有效载荷等于NaN操作数之一的有效载荷。有效负载保留对于科学计算的效率至关重要,并且至少有一家公司提出将NaN有效负载用于专有用途。
用更基本的术语来说,NaN不会携带任何有用的数字信息,并且无论如何都必须保留整个32位,因此,如果标准中没有定义有效载荷,则有效位中的未使用位将被浪费。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
编辑于
我来说两句