C++ 大整数,这是什么意思
C++ Biginteger, what does this mean?
我很困惑为什么我们需要 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=100000000
和 WIDTH=8
,您实际上是将原始数字 8 位数字与 8 位数字分开。
例如,254325623456546
将被(2543256, 23456546)
您可以简单地更改为其他(底座,宽度(。例如,BASE=10
,WIDTH=1
表示您正在逐位存储数字。例如,254325623456546
将被(2, 5, 4, 3, 2, 5, 6, 2, 3, 4, 5, 6, 5, 4, 6)
。
相关文章:
- 这个语法std::class<>{}(arg1, arg2) 在C++中是什么意思?
- 标准 N3337 5.2.10 第 7 条中的C++"类型"是什么意思?
- "类模板示例<int>;"语句对 C++11 是什么意思?
- 线应该是什么意思
- "CID"在AT+HTTPPARA= "CID" ,1中是什么意思
- 表达式"b=(b-x)&x"是什么意思?
- 这个表达是什么意思?
- 此代码验证公式是什么意思?
- 跟踪日志中的T.11803()是什么意思?
- 这个额外的关键字在这个 c++ 类声明中是什么意思?
- * 和 ** 在 C++ 函数声明中是什么意思?
- _T("xyz")是什么意思?
- #define Dbg(fmt,..) (0) 是什么意思? 警告:表达式无效
- 这行代码到底是什么意思?
- 在命名空间名称之前加上 :: 是什么意思?
- 从字符数组的元素中减去'a'是什么意思
- "friend"关键字在C++中是什么意思?
- 减法中的"0"是什么意思?
- 字符数组前面的加号是什么意思?
- 这里的字符串函数是什么意思