sizeinbase for mpz_class in GNU GMP
sizeinbase for mpz_class in GNU GMP
在 C 中,我们有mpz_t
,我们可以通过以下方式访问base
中的大小
size_t mpz_sizeinbase (const mpz_t op, int base)
在mpz_class,我试过
counter.sizeinbase(2);
那行不通。
error: ‘mpz_class {aka class __gmp_expr<__mpz_struct [1], __mpz_struct [1]>}’ has no member named ‘sizeinbase’
size_t size = (counter.sizeinbase(2) + CHAR_BIT-1) / CHAR_BIT;
我需要使用 mpz_class 来简化代码以进行unordered_map
是否有类似的mpz_class功能或解决方法?
使用 get_mpz_t
方法访问包装的mpz_t
值。
mpz_class x = ...;
size_t xbits = mpz_sizeinbase(x.get_mpz_t(), 2);
至少这在 MPIR 中有效,我认为它在 GMP 中也有效。
相关文章:
- netcat command in c++
- Difference in displaying cv2 Mat
- C++ MFC Libraries in Travis CI
- 如何在OpenSSL中从configuration.h.in获取configuration.h
- 创建具有 new in 函数和"this is nullptr"异常的对象
- IN, OUT, INOUT Parameters
- 应用程序崩溃并显示"symbol _ZdlPvm, version Qt_5 not defined in file libQt5Core.so.5 with link time reference"
- 有人安装"IITB Simplecpp in mac"吗?
- 从 C 样式字符串中删除子字符串 "in place" 在C++代码中
- 如何修复"error: ‘_1’ was not declared in this scope"?
- Softmax Implementation in C++
- 将 out/in out 参数与 if/switch 的 init 语句一起使用
- IF-nesting in c++
- Gurobi GRBModel and GRBmodel in C++
- Tensorflow Hub in C++
- 使用 Powershell 命令将 cpp 文件的文件夹编译为 GNU 的 g++
- Centos7 g++ "to_string is not in a member of std"
- InitializeCriticalSectionEx Not Located In KERNEL32.Dll
- 将 lambda 表达式传递给 std::function in C++
- sizeinbase for mpz_class in GNU GMP