Maison > Questions et réponses > le corps du texte
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
n'est pas assez précis, 23 ^ 29
est un 40位
nombre décimal,
double
Seulement 15 chiffres significatifs, il est impossible d'exprimer la valeur exacte à la fin
int
La valeur maximale n'est que de 10 chiffres, donc l'affectation a déjà débordé
PHP中文网2017-04-18 10:55:16
Double est un nombre à virgule flottante. Il est préférable d'utiliser BigInteger pour résoudre votre problème.