当前位置:  开发笔记 > 编程语言 > 正文

python中的默认舍入模式,以及如何将其指定为另一个?

如何解决《python中的默认舍入模式,以及如何将其指定为另一个?》经验,为你挑选了1个好方法。

Python中的默认舍入模式(舍入到最近等)是什么?我们如何指定它?



1> Netch..:

使用基于IEEE754的平台(像大多数现代平台一样,包括x86,ARM,MIPS ......),它的默认模式"舍入到最近,连接到偶数"是Python标准库中唯一可用的模式.这是由标准化的默认值和库方法的缺失"提供"来改变它.有更多的语言不允许更改舍入模式 - 例如Java - 所以这不是一个孤立的Python奇思妙想.

实际上,改变这一点的理由太少了.IEEE754的直接舍入模式在其使用中非常特殊.(我不道歉坚持默认舍入的方法,但只是对它进行评论.)例如,将1e308乘以1e308并将舍入为零或减去无穷大导致大约1.8e308,因此,结果也是如此远非确切的答案和基于POLA的(无限).如果您确实需要某些特定的计算模式,请考虑使用特定的库,如MPFR或gmpy2.

如果您坚持在没有专门用于浮点计算的外部模块的情况下进行更改,请尝试fesetround通过ctypes模块或模拟使用C库,例如此处.同样,您可以选择使用此类黑客并对所有后果负责.我建议将所有具有特殊舍入的部分包装到C级代码中,以恢复函数退出时的默认模式.

推荐阅读
牛尾巴2010
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有