私はちょうどJavaで遊んでいました。この小さなプログラムを書きました:
public class MaxValue{
public static void main(String[] args){
int i = Integer.MAX_VALUE;
for(int j = 1; j<=10;j++){
System.out.println(i*j);
}
}
}
出力は次のとおりです。
2147483647
-2
2147483645
-4
2147483643
-6
2147483641
-8
2147483639
-10
今、私は驚いた。この出力を説明する方法がわかりません。整数の最大制限を超える値を処理するために、代わりにlongを使用できることを知っています。しかし、私はJavaがこれをどのように計算するかを知りたいだけですか?