为什么我的运算结果与Java中的计算器不同

时间:2019-08-26 07:13:51

标签: java

我在设置变量的值,操作结果出现问题。我使用模数,这使我的算术结果与我的计算器不同

这是用于Java语言的

out.println("11^"+ (16)+" = "+Math.pow(11, 16)+" mod "+17+" = "+(Math.pow(11, 16))%17);

我希望(Math.pow(11,16))%17)的输出为1,但实际输出为0.0

2 个答案:

答案 0 :(得分:0)

尝试这个

    new BigDecimal(11).pow(16).remainder(new BigDecimal(17));

答案 1 :(得分:-1)

因为11 ^ 16被截断以适合双精度值。

更新:提示:虽然很长一段时间就可以了