Java文字除以非常大的数字

时间:2014-06-19 06:22:21

标签: java

我有一个代码,我需要将整数除以一个非常大的数字,例如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中实现这一目标?有没有办法直接实现它,或者我需要实现任何算法?

1 个答案:

答案 0 :(得分:7)

Java Language Specification

  

如果整数文字后缀为ASCII字母L或l(ell),则其长度为long;否则它的类型为int(§4.2.1)。

您需要通过附加文字lL

来判断数据类型是否很长
  long x = 12345678912L;