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

最小的正float64数

如何解决《最小的正float64数》经验,为你挑选了1个好方法。

我需要找到一个numpy.float64尽可能接近零的值.

Numpy提供了几个允许执行类似操作的常量:

np.finfo(np.float64).eps = 2.2204460492503131e-16

np.finfo(np.float64).tiny = 2.2250738585072014e-308

这些都相当小,但是当我这样做时

>>> x = np.finfo(np.float64).tiny
>>> x / 2
6.9533558078350043e-310

结果甚至更小.当使用即兴二进制搜索时,我可以1e-323在值向下舍入到之前得到约0.0.

我错过了numpy中的常数吗?或者,有没有正确的方法来做到这一点?



1> ev-br..:

使用np.nextafter.

>>> import numpy as np
>>> np.nextafter(0, 1)
4.9406564584124654e-324
>>> np.nextafter(np.float32(0), np.float32(1))
1.4012985e-45

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