使用除2、8、10、16以外的基数提升mpz_int



我可以用标准基从字符串创建多精度整数

#include <boost/multiprecision/gmp.hpp>
...
using namespace boost::multiprecision;
mpz_int decimal("10");
mpz_int hexadecimal("0xa");
mpz_int octal("012");
mpz_int binary("0b1010");

要像GMP中那样使用碱基2到62,可以使用例如

#include <gmp.h>
...
mpz_t auxiliary;
mpz_init(auxiliary);
mpz_set_str(auxiliary,"11",9);
mpz_int j = auxiliary;
mpz_clear(auxiliary);

有没有一种没有辅助变量的更直接的方法?

是。

#include <iostream>
#include <boost/multiprecision/gmp.hpp>
int main()
{
  boost::multiprecision::mpz_int j;
  mpz_set_str( j.backend().data(), "11", 9 );
  std::cout << j << "n";
}

仔细阅读文档。

相关内容

  • 没有找到相关文章

最新更新