gpt4 book ai didi

C++ Biginteger,这是什么意思?

转载 作者:太空狗 更新时间:2023-10-29 21:34:56 24 4
gpt4 key购买 nike

我很困惑为什么我们需要 BASE=100000000 和 WIDTH=8。这段代码来自一本书,但我看不懂。

struct Biginteger {
static const BASE = 100000000;
static const WIDTH = 8;

vector<int> s;
Biginteger(long long int num = 0) { *this = num; }
Biginteger operator=(long long num) {
s.clear();
do {
s.push_back(num % BASE);
num /= BASE;
} while (mun > 0);
return *this;
}

最佳答案

原始类型无法存储任意大的数字,这就是为什么您需要 BigInteger 的原因。 BigInteger 的思想是使用基本类型中的小数序列​​来表示大数。

使用 BASE=100000000WIDTH=8,您实际上将原始数字 8 位数字与 8 位数字分隔开。

例如 254325623456546 将是 (2543256, 23456546)

您可以简单地更改为其他(BASE、WIDTH)。例如,BASE=10WIDTH=1 表示您正在逐位存储数字。例如,254325623456546 将是 (2, 5, 4, 3, 2, 5, 6, 2, 3, 4, 5, 6, 5, 4, 6).

关于C++ Biginteger,这是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44620943/

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