如何解决IEEE 754浮点除法或减法本身是否总是得出相同的值?
除非IEEE 754是NaN,+-0.0或+ -Infinity,它自身除以保证精确到1.0?
类似地,减法本身是否保证总是导致+ -0.0?
解决方法
IEEE 754-2008 4.3说:
...除非另有说明,否则每项操作都应像首先产生无穷大的精度和无界的中间结果,然后按照本节中的一个属性将其四舍五入的方法进行。
当中间结果可表示时,所有舍入属性都将其舍入;四舍五入仅在值无法表示时才更改它。减法和除法规则在5.4中给出,并且没有规定上述例外情况。
0和1在3.3中是可表示的,它指定了可以用任何符合标准的格式表示的数字集。特别是,零可以用全为零的有效数字表示,一个可以用以1开头,后跟“ .000…000”和指数为零的有效数表示。定义格式的最小指数和最大指数,以便它们始终包含零( emin 为1− emax ,因此它们之间为零(包括零),除非 emax 小于1,在这种情况下,没有数字可表示,即的格式为空,而不是实际格式。
由于舍入不会改变可表示的值,并且零和一是可表示的,因此,将有限的非零值本身除以总是产生1,而从其本身减去有限的值则总是产生零。
,如果使用相同的文字值,则将其自身相除并相减-是的,IEEE754要求产生最接近且一致的匹配。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。