我有一个代码,我需要将整数除以一个非常大的数字,例如12345678912.我使用了很长时间,但它仍然给出The literal 12345678912 of type int is out of range
错误。
代码例如:
public static void main(String[] args) {
//rest of the code
long x = 12345678912; //<--error is in this statement
System.out.println(y/x); //<---y is an integer which is having some value in rest of the code.
}
我知道无符号长整数可以容纳的最大值是2 ^(64)-1。但是,我想知道,如何在Java中实现这一目标?有没有办法直接实现它,或者我需要实现任何算法?
答案 0 :(得分:7)
如果整数文字后缀为ASCII字母L或l(ell),则其长度为long;否则它的类型为int(§4.2.1)。
您需要通过附加文字l
或L
long x = 12345678912L;