gpt4 book ai didi

c++ - 大无符号整数 (C++)

转载 作者:行者123 更新时间:2023-11-27 23:22:45 24 4
gpt4 key购买 nike

我用过this library .我必须对 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);

它给我 n20 而不是 34084860461056。为什么会这样?

最佳答案

大概和库的实现有关系吧。我强烈推荐使用 GMP为了这个任务。我的解决方案看起来像这样:

#include <iostream>
#include <gmpxx.h>
using namespace std;

int main() {

mpz_class n2 = 0x1F;

n2 <<= 40;

cout << n2 << endl;

return 0;
}

关于c++ - 大无符号整数 (C++),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11663118/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com