Java模数不适用于大数

时间:2017-05-07 12:27:17

标签: java modulo

我正在创建一个用Java计算Mersenne primes的程序。在这样做时,我注意到模%运算符在处理大数时不能正常运行。

这是我的代码:

double a = 2305843009213693951d; //2^61 -1
double b = 2;
double m = a % b; //this should be 1.0
System.out.println(m); //prints 0.0

虽然人们希望结果为1,但由于原始数字不均匀,所以实际上会返回0.0。 为什么会这样,我该如何解决?

0 个答案:

没有答案