python – 计算最接近的数字numpy

我正在尝试将最接近的数字计算为0,但到目前为止无法得到我想要的数字.

我有一个非常简单的代码;

y = 0.0
x = 0.1
while (y + x > y):
    x = x/2.0
x*2

但我一直得到0.0作为输出.我怎样才能解决这个问题

解决方法

我想你想继续分割,直到x变得如此之小,它变为零(浮点格式).在循环的最后一次迭代中,x最终变为零,循环条件变为false:
0.0(y)0.0(x)> 0.0(Y).在最后一行,您尝试通过乘以2来检索x值.但是x已经为零,因此结果也为零.数学上是完全有意义的,但浮点值在那时已经为零.

为了保持最新的非零值,请使用第二个变量:

y = 0.0
x = 0.1
smallest_x = x

while (y + x > y):
    smallest_x = x
    x = x/2.0
x*2

或者,您可以事先检查在再次分割之后x是否为零:

y = 0.0
x = 0.1
while (y + x/2.0 > y):   //checking if the next division makes x to zero
    x = x/2.0
x*2

或采取不同的方法来获得最小的x:

x = 1.0
while (x/2.0 != 0):
    x = x/2.0

相关文章

功能概要:(目前已实现功能)公共展示部分:1.网站首页展示...
大体上把Python中的数据类型分为如下几类: Number(数字) ...
开发之前第一步,就是构造整个的项目结构。这就好比作一幅画...
源码编译方式安装Apache首先下载Apache源码压缩包,地址为ht...
前面说完了此项目的创建及数据模型设计的过程。如果未看过,...
python中常用的写爬虫的库有urllib2、requests,对于大多数比...