我想知道在c中浮点数是多少.我使用的是大型数据集,很难追踪.我想知道将浮点数更改为nan以减少bug可能性的方法.
我找到了导致nan问题的代码.我发现在某些情况下s / m是nan.但我不知道如何解决它.
float gp(float x){ float e = 2.71828183; x *= -1; float s = pow(e,x); float m = (1 + pow(e,x)) * (1 + pow(e,x)); return s / m;}
解决方法
取自
wikipedia – >特殊值 – >楠
> 0/0
>∞×0
> sqrt(-1)
>一般“无效操作”(我不确定是否有不超过上述三个)
看着你的代码:无限时间0是可能的,是吗?
编辑:
> 0< = s< = inf
> 1< = m< = inf
s / m:
> inf / inf确实使负NaN(我测试过)
我认为这是制造NaN的唯一因素.