BigUnsigned integer (C++)
BigUnsigned integer (C++)
我使用过这个库。我必须对BigUnsigned数字执行位运算。
我的代码是
#include "BigIntegerLibrary.h"
BigUnsigned n1;
for (int i = 0; i < 100;i++)
{
if (i < 5)
{
n1.setBit(i,true);
}
else
{
n1.setBit(i,false);
}
}
BigUnsigned n2;
n2 = n1;
n2.bitShiftLeft(n2 , 40);
它给出了n2
是0
而不是34084860461056
。为什么会发生这种情况?
这可能与库的实现有关。我强烈建议使用GMP来完成这项任务。我的解决方案是这样的:
#include <iostream>
#include <gmpxx.h>
using namespace std;
int main() {
mpz_class n2 = 0x1F;
n2 <<= 40;
cout << n2 << endl;
return 0;
}
相关文章:
- 将Integer转换为4字节的unsined字符矢量(按大端字节顺序)
- 使用IPC/共享内存将Integer数组从C++传递到Python
- C++ OpenCV Randu 函数抛出'Integer division by zero'
- 如何在满足常量表达式的同时将整数传递给指针,传递给 std::array<double、integer>?
- 在C++初始化程序列表中使用Integer Literals
- 为什么选择 g++ 给予者:"error: cast to pointer from integer of different size [-Werror=int-to-pointer-cast]"
- 如果我获得Integer和Double的产品,输出的数据类型是什么
- C Integer在C 代码中使用时会失去其恒定状态
- 将 int 与 double 进行比较的预处理器"invalid integer constant expression"
- 编译 C++ 代码时"Error: comparison between pointer and integer"
- Bitwise integer concationation
- DIS(P X)-X在GCC Linux X86-64 C 中始终导致Pointer P和Integer X的P
- 将cryptopp :: Integer转换为lpctstr
- 如何在C++中为integer、float和double数据类型同时重载运算符
- 初始化Integer字面形式到std :: size_t
- OpenCV文档说"uchar"是"unsigned integer"数据类型。如何?
- Arduino Integer error
- C签署的基于Integer的攻击
- 这是什么C++语言结构:#(即哈希)整数"path_to_header_or_cpp_file"<integer>?
- 使用多个文件时"array bound is not an integer constant before ']' token"