Py学习  »  Python

如何在python中使用八倍精度

sahasrara62 • 5 年前 • 1934 次点击  

我遇到这个问题是为了检查一个数是否可以被5整除。

我所做的许多解决方案之一是

def f(x):
     return x/5==x//5

我发现是由于浮点数错误。 IEEE_754#Basic_and_interchange_formats

在链接中,给定了二进制256(八倍精度)。

在python中没有发现任何有用的东西来实现它。

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/53853
 
1934 次点击  
文章 [ 1 ]  |  最新文章 5 年前
chepner
Reply   •   1 楼
chepner    6 年前

“默认精度”意味着您可以选择不同的精度。你不能。

https://docs.python.org/3/reference/datamodel.html :

数字.实数(浮点数)

这些表示机器级别的双精度 浮点数。 你受底层机器的摆布 溢流处理。 Python不支持单精度 浮点数;节省的处理器和内存使用 使用它们的原因通常比 有两种浮点数的语言。

不能保证你 IEEE 754浮点值。