我正在进行一些Project Euler练习,需要使用非常大的数字。 我仍然需要使用一些基本循环,如for-loops或while循环。
我的IDE,Netbeans,给了我一个我无法解决的错误。
long l = 10000000000L;
while (l<10000000000000){
}
for (long k =0;k<10000000000000;k++){
}
在两个循环中,我得到了评论:&#34;整数过大:10000000000000&#34; 当我明确地与“长期”合作时,它如何谈论整数呢? ? 这些循环仅适用于&#39; int&#39 ;? 如果是这样,我将如何使用&#39; long&#39;作为类型?
答案 0 :(得分:3)
它看起来很简单:)
long l = 10000000000L;
while (l < 10000000000000L) {
}
for (long k = 0; k < 10000000000000L; k++) {
}
答案 1 :(得分:2)
您需要添加l
(或L
)后缀,以将该数字标记为long
:
while (l<10000000000000l){
}
for (long k =0;k<10000000000000l;k++){
}
否则,该数字被视为一个整数,并且它高于整数范围(2147483647
)中的最大值。