2016-04-14 89 views
0

我在一個項目中使用Java開放楓葉庫,我想知道如何傳遞一個大整數到楓葉引擎?我使用Java類BigInteger來表示我非常大的數字。但楓不提供這個類的支持。唯一支持的類型是int,double和long。有沒有人找到解決方法?Java開放楓葉處理非常大的數字

謝謝。

回答

0

這不是一個理想的解決方案,但與com.maplesoft.openmaple.Numeric對象引用您的任意精度的整數開始,你可以:

  1. 保存整數變量,說ñ,相關的楓葉會話中。
  2. n拆分爲64位塊,通過迭代除以2^64。在Maple可以除以2^64而分割同時用

    r := iquo(n, 2^64, 'n'); 
    

    更新「N」的值與上com.maplesoft.openmaple.Algebraic eval方法計算剩餘後可以調用的longValue()方法之後計算餘將其表達爲長期。

  3. 從所有這些64位塊構建一個BigInteger

+0

試試吧,謝謝 – Dryben

+0

我看到同一個問題幾乎在同一時間發佈在MaplePrimes上。我會建議使用提供的答案(以Maple整數作爲字符串並傳遞給BigInteger構造函數),除非您對使用字符串作爲中間表示形式有強烈的美學反感。 – saforrest