私は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.
ありがとうございました。