我使用下面的代码来计算日志库2.
Math.log(x)/Math.log(2);
使用此功能,如果x = 4/5,我会得到nan。
使用calc,excel这个问题不存在。
如何避免获得纳米并获得真正的价值?
答案 0 :(得分:8)
我强烈感觉你的4/5
是整数。这意味着由于整数除法,4/5
将评估为0
。
log(0)
为负无穷大,可能是您NaN
的来源。
要解决此问题,请在进行除法之前将数字转换为浮点数:
double x = (double)4 / 5;
答案 1 :(得分:6)
我怀疑你的问题是因为4 / 5
是0
,因为它使用整数运算进行除法。如果您想使用浮点算术来获取0.8
,那么您应该尝试4.0 / 5
。