成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久

您的位置:首頁技術(shù)文章
文章詳情頁

java - Math.pow(23,29)%91 的結(jié)果為什么是錯誤的?

瀏覽:115日期:2024-01-09 08:33:47

問題描述

Math.pow(23,29)%91 的結(jié)果為什么是錯誤的?

public class T1 { public static void main(String[] args) {double c = Math.pow(23,29)%91.0;System.out.println(c); }}輸出:28.0int c = (int)Math.pow(23,29)%91;System.out.println(c);輸出 36

然而這都不是正確答案

正確取余后的值是4才對

問題解答

回答1:

精度不夠,23 ^ 29是個40位十進制數(shù),

double只有15位有效數(shù)字,根本表達不了末尾的準確數(shù)值

int最大值只有10位,這么賦值早就溢出了

回答2:

double是浮點數(shù),你這個問題最好使用BigInteger來解決。

標簽: java