我认为从代码中可以很好地 self 解释。显然,我并没有一遍又一遍地评估同一件事,它只是用来解释我的问题的示例数字。我猜是上溢/下溢,但我不知道如何处理。
double d = (1 / (684985+157781));
System.out.println(d); // returns 0.0
System.out.println(Math.log(d)); // returns -Infinity.
最佳答案
(1/(684985+157781))
是一个整数表达式,所以它会出来0
。
然后将零分配给 double d
,作为 0.0
。
尝试将 1
更改为 1.0
以强制该表达式为 float ,或更改为 1.0D
以强制其加倍。
关于java - 我如何评估这个等式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8467434/