boost mpz_int 基数不是 2, 8, 10, 16
boost mpz_int with base other than 2, 8, 10, 16
我可以从具有标准基数的字符串创建多精度整数
#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一样使用base 2 to 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";
}
仔细阅读文档。
我可以从具有标准基数的字符串创建多精度整数
#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一样使用base 2 to 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";
}
仔细阅读文档。