84669 人が学習中
152542 人が学習中
20005 人が学習中
5487 人が学習中
7821 人が学習中
359900 人が学習中
3350 人が学習中
180660 人が学習中
48569 人が学習中
18603 人が学習中
40936 人が学習中
1549 人が学習中
1183 人が学習中
32909 人が学習中
Math.pow(23,29)%91 的结果为什么是错误的?
public class T1 { public static void main(String[] args) { double c = Math.pow(23,29)%91.0; System.out.println(c); } } 输出:28.0 int c = (int)Math.pow(23,29)%91; System.out.println(c); 输出 36
然而这都不是正确答案
正确取余后的值是4才对
走同样的路,发现不同的人生
精度が十分ではありません。23 ^ 29 は 40 桁 の 10 進数です。23 ^ 29是个40位十进制数,
23 ^ 29
40 桁
40位
double只有15位有效数字,根本表达不了末尾的准确数值
double
int
Double は浮動小数点数です。問題を解決するには BigInteger を使用するのが最善です。
精度が十分ではありません。
23 ^ 29
は40 桁
の 10 進数です。23 ^ 29
是个40位
十进制数,double
只有15位有效数字,根本表达不了末尾的准确数值int
double
には有効数字が 15 桁しかなく、末尾の正確な値を表現できませんint
最大値は 10 桁のみなので、代入はずっと前にオーバーフローしていました🎜🎜 🎜Double は浮動小数点数です。問題を解決するには BigInteger を使用するのが最善です。