だから私は、次のプログラムがあります。私は11の力に11の整数値を印刷したいJavaの数学の型キャスト
import java.lang.Math;
public class Test{
public static void main(String[] args) {
int value = (int)Math.pow(11,11);
System.out.println(value);
}
}
を私はMath.pow(11,11)が戻ってくることを知っていますダブル2.85311670611E11正しいです。しかし、私がそれをint型にキャストすると、私は2147483647を得て、それは明らかに正しくないでしょう。
これはどうしてですか?それをどうやって修正することができますか?
ありがとうございました
これは 'int'型が格納できる最大値です。あなたは何を期待しましたか?また、どういう意味ですか?どうすれば修正できますか? –
Intの最大値は、計算の値が超過すると表示されます。ちょうど別のプリミティブ型を使用してください。 'long' –
@Ousmane多くのDiaw私は285311670611が11の威力を11に持つと期待しています。これは私がintを使用できないことを意味しますか? – Amir