我正在做一个处理非常大的整数的项目,到目前为止,我已经在整个项目中使用了基于GMPlib的MPIR库。
我现在需要一个对数函数,MPIR不包含它。另一个库MPFR,也是基于GMPlib的,就有这样的功能。
两者都有一个整数类,并且它们的名称类似,MPIR有mpz_t,MPFR有mpfr_t。看起来,它们似乎基于GMPlib中的相同基类。
是否可以通过某种方式将MPIR中的整数转换为MPFR整数以使用log函数?最不优雅的方式当然是使用字符串作为中介,但这需要几秒钟的时间。任何帮助都将不胜感激。
如果上下文有帮助,我会尝试实现这个逻辑:Highest power of 2 less than n。
发布于 2018-07-31 01:15:45
MPIR和MPFR可以同时安装。您可以将MPIR对象转换为一个字符串,然后使用该字符串创建一个MPFR对象,但这可能比在整个程序中简单地使用mpfr_t类型效率低得多。
如果你想知道如何将它们安装在一起,这里有两个视频可以帮助你:https://www.youtube.com/watch?v=S06mX5dwIJ0 https://www.youtube.com/watch?v=je5ei4rCFiw
https://stackoverflow.com/questions/23615603
复制相似问题