java - Math.pow(23,29)%91 的结果为什么是错误的?
本文介绍了java - Math.pow(23,29)%91 的结果为什么是错误的?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
问 题
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位
十进制数,
double
只有15位有效数字,根本表达不了末尾的准确数值int
最大值只有10位,这么赋值早就溢出了
这篇关于java - Math.pow(23,29)%91 的结果为什么是错误的?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文