社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

如何在python中使用八倍精度

sahasrara62 • 5 年前 • 1852 次点击  

我遇到这个问题是为了检查一个数是否可以被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
 
1852 次点击  
文章 [ 1 ]  |  最新文章 5 年前
chepner
Reply   •   1 楼
chepner    6 年前

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

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

数字.实数(浮点数)

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

不能保证你 IEEE 754浮点值。