我正在 Android 中开发一个计算器应用程序。
我已经开发了计算器并且除了阶乘函数之外运行良好。
计算阶乘的函数是:
public float factorial (float n){
float ans=1;
for (int i=1; i<=n; i++){
ans=ans*i;
}
return ans;
}
问题是,直到34!
我认为我得到正确答案。
34!=2.952328229965333E38
但是n>=35
,我得到了答案
n!=Infinity
我意识到这是因为浮动溢出。我怎样才能增加float
至少可以说的范围10^100.
谢谢你。