您的位置:首頁技術文章
文章詳情頁

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

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

問題描述

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.0int c = (int)Math.pow(23,29)%91;System.out.println(c);輸出 36

然而這都不是正確答案

正確取余后的值是4才對

問題解答

回答1:

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

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

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

回答2:

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

標簽: java
国产综合久久一区二区三区