2016-04-01 4 views
-3
sum=sum+(a+(Math.pow(2,n))*b); 

このJavaコードを書いてシリーズの合計を計算しましたが、「精度の低下の可能性があります」というエラーが表示されます。系列の合計を計算する際にJavaで精度エラーが発生する可能性があります

すべての変数sum、a、b、nはint型です。

+0

和intまたはダブルが何であるかでなければならないので、倍増する合計を変更しますか? – imoteb

+0

変数のデータ型は何ですか? –

+2

Math.powはdoubleを返し、それをintに変換しようとしています。intを使用したい場合はキャストしてください。または、sum変数をdoubleに変更してください。 –

答えて

0

Math.powはダブル返し、それは

sum=(double)sum+(a+(Math.pow(2,n))*b); 
関連する問題