![](/img/trans.png)
[英]How would i add very large Numbers represented as Strings i.e 50 digit numbers
[英]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.