说我有这个变量:long l = 2000000000;
然后我要创建一个新变量long l2 = l*l;
这不会返回正确的值,因为l*l
太大了。我知道我必须将L
附加到那些非常大的长数字上,但是如何在使用变量来获得非常大的long
数时呢?
答案 0 :(得分:2)
如果你只乘以两个int
,你应该在乘以之前将它们转换为long
。 long l2 = ((long) l) * ((long) l).
如果l已经是long
(就像你的情况一样),你就不需要施放。
可以使用Long.MAX_VALUE
处理大于BigInteger
的整数。
你不能乘以大的长期并且期望获得大于Long.MAX_VALUE
的长期。在这种情况下,您还应该使用BigInteger