Java中longs的模运算符是什么?

时间:2011-04-20 23:02:07

标签: java long-integer modulo modulus

如何在Java中找到两个长值的模数(%)?我的代码说“整数太大”,后面是我试图修改的数字。我尝试将它投入很长时间但它没有用。我是否必须将其转换为BigInteger并使用余数方法?感谢。

3 个答案:

答案 0 :(得分:18)

%运算符适用于longs。听起来您可能忘记将L粘贴在数字文字的末尾,如123456789L中所示。我们能看到您的代码吗?

答案 1 :(得分:4)

你只能拥有一个最大为2 147 483 647的整数。如果你想要超过那个,比如30亿,你必须指定它是一个长的

class Descartes {
    public static void main(String[] args) {
        long orig = Long.MAX_VALUE;
        long mod = orig % 3000000000; // ERROR 3000000000 too big
        long mod = orig % 3000000000L; // no error, specified as a long with the L
    }
}

请记住,您可以使用大写或小写L,但建议使用大写,因为小写看起来非常类似于数字1。

答案 2 :(得分:0)

你也可以尝试使用BigInteger类,它有一个与%相似的remainder()方法。