我知道 Math.pow()的结果是 double 。
但是,当我将结果显式转换为int时,以下代码为什么不引起整数溢出? 另外,为什么“ a”和“ b”的结果相同,即2147483647
int a=(int)(Math.pow(2,377));
int b=(int)(Math.pow(2,32));
System.out.println(a);
System.out.println(b);
答案 0 :(得分:1)
如果double大于最大int值,则将其转换为int将为您提供最大int值。