1
我試圖exponentiate使用GMP庫mpz_ui_pow_ui()
大位的數字,但我通過在mpz_class值給我的錯誤給錯誤mpz_class類型。爲什麼我會收到錯誤,以及如何使其工作?GMP使用mpz_pow功能
我試圖exponentiate使用GMP庫mpz_ui_pow_ui()
大位的數字,但我通過在mpz_class值給我的錯誤給錯誤mpz_class類型。爲什麼我會收到錯誤,以及如何使其工作?GMP使用mpz_pow功能
https://gmplib.org/manual/Integer-Exponentiation.html
— Function: void mpz_ui_pow_ui (mpz_t rop, unsigned long int base, unsigned long int exp)
該函數unsigned long
,不mpz_t
。
它是如此奇怪,**任意精度算術庫**使用__normal__值左右。 – Slav
@Slav還有另一個函數,它將基數作爲任意精度。在不是0或±1的基礎上使用不適合unsigned long的指數(或者在諸如win64等奇怪平臺上的某些變體)會產生無法放入內存的結果。 –
那又是什麼功能?可悲的是我必須** mpz_pow_ui(...,exp.get_ui())**,但是** mpz_pow_ui(....,exp)**看起來更乾淨。除了美學之外,還可能會出現用硬盤驅動器的交換內存的使用情況,並且只用大於32位的實際指數進行計算。 – Slav