2011-04-20 70 views
0

我需要计算4.0468564224e-33的值。但不幸的是我得到了0.0000000的结果。我认为问题在于e的价值。如何计算数学加倍值

如何计算这些数学计算?是否有进口数学课程的必要性?

+0

err什么语言......它支持双打吗? – 2011-04-20 07:10:03

+0

可能重复? http://stackoverflow.com/questions/5717669/calculate-constant-e-value – 2011-04-20 08:04:57

回答

2

4.0468564224e-334.0468564224 * 10⁻³³,那就是0.0000000000000000000000000000000040468564224 - 非常接近于零。

如果您的输出函数四舍五入到7个十进制数字,即使输入正确,您也会得到0.0000000作为输出。

0

也许你正在使用类似

NSLog("%d", yourValue); 

,而你应该使用:

NSLog("%f", yourValue); 

,因为你的价值是一个浮动,而不是一个整数。

%d => int 
%f => float 
+0

不,我使用%f不是%d。 – Maheshbabu 2011-04-20 07:14:07

+1

%d不会产生小数。 – ikegami 2011-04-20 07:31:07

+0

你是对的! ;-) – Abramodj 2011-04-20 07:34:01

2

Anders Lindahl解释why你看到零,但没有提出任何解决方案。

一种解决方案是通过使用%.43f代替%f%.7f)以请求更多的小数输出。

另一种解决方案是要求,而不是%f通过使用%e%.10e)幂表示法。