如何在c++中增加long的范围
How increase the range of long long in C++?
我正在使用dev c++ IDE创建一个程序来运行RSA算法。众所周知,该算法使用了非常大的数字。24 ~ 26位的数字。long long数据类型最多只支持20位左右的数字。我如何在c++中处理这么大的数字?是否有一种方法可以改变长数据类型的限制/大小/范围?
由于大众的要求:
有很多大数量的库(都服务于不同的受众)。例子:
- gmp(或更好的接口:mpfr)
- mpir (gmp fork)
维基百科文章任意精度算术也列出了一些。
您可以编写一个类或结构来封装,可能像java中的BigInt
这里有一个例子http://hi.baidu.com/lauo1988/item/ed31512ba601e8cddcf69adb
相关文章:
- 为什么在全局范围内使用"extern int a"似乎不行?
- 尝试通过多个向量访问变量时,向量下标超出范围
- 错误:未在此范围内声明'reverse'
- 如何在 C 中正确使用 libiconv 使其不会报告"Arg list too long"?
- 正在将指针转换为范围
- 使用std::transform将一个范围的元素添加到另一个范围中
- 不能在初始值设定项列表中将非常量表达式从类型 'int' 缩小到'unsigned long long'
- 在基于范围的for循环中使用结构化绑定声明
- 如何计算数据类型的范围,例如int
- 在C++中使用GDAL可以将图像的像素坐标转换为lat,long吗
- 为什么 const std::p air<K,V>& 在 std::map 上基于范围的 for 循环不起作用?
- 在C++中查找范围的长度
- 如何设置一个范围来提取我想要获得的信息
- 并行用于C++17中数组索引范围内的循环
- 为左值和右值的包装器实现C++范围
- "1L << count"是什么意思?如何使用超出"unsigned long long int? "范围的语句编号打印?
- 为什么所有可能的整数都"true"在 C++ 的 if 语句内的 long int 范围内,而 0 不是?
- 从幻数到int或long的重载分辨率(范围为v3)
- 从'float'转换为'LONG'需要缩小转换范围
- 如何在c++中增加long的范围