gpt4 book ai didi

java - 一些 Java 模/余数运算符问题

转载 作者:搜寻专家 更新时间:2023-11-01 01:56:57 27 4
gpt4 key购买 nike

我一直在尝试使用 Java 处理一些更大的值,但遇到了一些我不理解的问题。出于某种原因,Java 似乎喜欢给我垃圾数据(尽管,我更可能告诉它给我垃圾数据)

这是一个片段,为清楚起见进行了编辑:

        System.out.println(
"2 == " + (Math.pow(51, 13) % (77))
);

根据 Wolfram Alpha(参见下面的链接)和我的算法的其余部分,这是错误的。

(输出:)

  2 == 70.0

http://www.wolframalpha.com/input/?i=51^13+mod+77

有什么想法吗?

最佳答案

我认为这是因为精度问题。 double 只能精确到 15 位左右。 Math.pow(51,13) 是一个巨大的数字(约 20 位数字),因此当您尝试将其修改为 77 时,您将遇到数字错误。

对于任意精度的运算,请看BigIntegerBigDecimal .

关于java - 一些 Java 模/余数运算符问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6779965/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com