在长期使用向量规范计算期间的java溢出

时间:2014-02-17 11:28:13

标签: java overflow long-integer

我有一个简单的方法来计算使用2个长的2dim向量的范数:(示例)

long x = 4294967296L;
long y = 0L;
long result;
result = (long) Math.sqrt(x * x + y * y);

我的问题是我有数字,以便它们适合x,y和结果。但是有一个溢出计算x * x和y * y。

有没有简单的方法可以避免这种情况,还是必须使用BigInteger?

2 个答案:

答案 0 :(得分:1)

BigInteger应该是您的选择。

答案 1 :(得分:0)

您应该使用BigInteger进行计算。