作者:nuabolalalala6_535 | 来源:互联网 | 2023-01-23 23:37
我们只是为了创建一个如下所示的for循环而尝试.我们假设我们得到的数字会非常高,但我们得到0.为什么它是0而不是大的?我们甚至尝试了很长时间,因为我们认为它可能比int更大.提前致谢.
private static void calculate() {
int currentSolution = 1;
for (int i = 1; i <100; i++) {
currentSolution *= i;
}
System.out.println(currentSolution);
}
Bathsheba..
11
当它到达时,你int
正在回绕.-2147483648
+2147483647
通过惊人的巧合1,在您的产品中引入乘以零.
亲自看看:写
if (currentSolution == 0){
// What is the value of i?
}
你需要一个BigInteger
来评估100!
1真的不是那么神奇:只有100!有2 32作为因素.
1> Bathsheba..:
当它到达时,你int
正在回绕.-2147483648
+2147483647
通过惊人的巧合1,在您的产品中引入乘以零.
亲自看看:写
if (currentSolution == 0){
// What is the value of i?
}
你需要一个BigInteger
来评估100!
1真的不是那么神奇:只有100!有2 32作为因素.