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才对
伊谢尔伦2017-04-18 10:55:16
은 정확하지 않습니다. 23 ^ 29
은 40位
십진수입니다.
double
유효숫자 15자리만 있어서 마지막에 정확한 값을 표현하기는 불가능합니다
int
최대값이 10자리밖에 안되어 이미 과제가 넘쳤습니다