如何在C++中保存大于 64 位的整数
How to save integer greater than 64 bits in C++?
我想存储长度大于 64 位的整数。每个整数的位数可以达到数百万,因为每个条目都被添加到应用程序中。然后对于 64 个这样的整数(长度相等),必须执行按位 AND 运算。
那么,什么是节省时间的最佳C++数据结构呢?早些时候,我考虑过它的向量,因为它可以动态增加长度。另一种选择是使用 std:bitset。
但是我不确定如何使用这两种方法执行按位 AND,以便以最省时的方式完成。
谢谢
GNU 多精度库是一个很好的任意精度整数库。它很可能针对您的编译器/CPU 进行了大量优化,所以我会将其作为第一次开始,如果它不够快,请推出您自己的特定实现。
在获取大数据时,为向量重新分配内存非常昂贵,所以我会定义
struct int_node{
bitset<256> holder;
int_node *next_node;
}
我认为这种方法可以节省内存管理的时间,并节省按位操作的一些周期。
相关文章:
- 如何反转整数参数包
- enum是C++中的宏变量还是整数变量
- 努力将整数转换为链表。不知道我在这里做错了什么
- 整数不会重复超过随机数
- 如何找到大于整数的最小数字
- 如果变量数据包含大于 vector 所有元素的整数,则仅在视觉工作室上接收"矢量下标超出范围"?
- 16 位系统中的程序如何访问大于 65535 的整数,但不能访问地址
- 如何在 c++ 中解析包含整数的字符串并检查是否大于最大值
- 从C 中的系统函数中获取整数(大于255)
- 在整数中存储大于 INT_MAX 的数字
- 如何乘以大于 uint64 的整数
- 查找大于或等于 x(正整数)z 倍数(正整数,可能是 2 的幂)的最小整数
- 如何返回小于或等于平均值的整数和大于平均值的整数
- 分解大于 100 位的整数
- 大于无符号长整型的整数类型,以及库
- 如何在C++中保存大于 64 位的整数
- 检查输入是否为整数或大于零
- 我如何从一个8位整数中得到一个大于8位的值
- 如何将一个整数除以另一个大于零的数并给出余数
- 在 32 位 Windows 上大于 4294967295 的整数