簡體   English   中英

當'e'對於非常大的e是十進制時,如何對e求冪?

[英]How to do exponentiation e when 'e' is decimal for very large numbers of e?

說,

基數 = 2 和 e = 20000.5671

如何在 java 中執行上述示例(基本功率 e)。

顯然 Math.pow(base, e) 不是通往 go 的方法,因為它打印的是“Infinity”

BigDecimal 只接受 int 類型的“e”。

還有其他方法可以實現這一目標嗎? 期待更多的 JDK 庫而不是 3p。

您可以嘗試使用指數積規則

a b+c = a b * a c

因此您可以使用 BigDecimal function 將 2 提高到 20000 次方,然后乘以 2 提高到 0.5671 次方

筆記:-

這種方法將產生一個僅在其最小部分的精確度上是正確的答案。 Math.pow function 返回一個雙精度數,因此只能精確到大約 15 個有效數字。

因此,有一個數學解決方法:

BigDecimal.valueOf(2).pow(20000).multiply(BigDecimal.valueOf(Math.pow(2, .5671)))

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM