哪种数据类型可以容纳10^31的十进制数
Which data type can hold 10^31 decimal number?
我必须在整数数据类型变量中保留10^31范围的十进制数据。
哪种数据类型可以容纳此范围的数字?
C++标准定义的任何整数类型都不能容纳1031。您需要任一
- 一个128位整数(范围为1.7×1038)。为此,您必须求助于编译器特定的功能(例如Clang和GCC中的
__int128_t
) - 或者来自第三方库的任意精度整数类(checkout GMP)
没有一个基本类型整数类型可以保证保持这么大的范围。你可以发现气候的局限性。它们被表示为2的幂,但很容易转换,2^n大约是10^n/3.3,所以long long
会让你达到10^19左右。
任何浮点类型都不能以整数精度保存该范围的值(它们太小)。
您可以创建具有14字节精度的类(使用2个long long
变量),该类支持算术运算,并在内部管理两个变量之间的算术进位。
唯一的选择是找到一个支持长精度或无限精度的库。
相关文章:
- 如何为我的数组选择更大的数据类型?
- 多维数组存储三种不同的数据类型?
- C++:灵活且能够存储多种数据类型的数组
- 需要根据读取的数据类型将ifstream提取到单独的数组中
- 如何将预定义数据类型的值存储到数组中并输出它
- C++ 在不同位置具有不同数据类型的多维数组
- 如何掩盖对象数组的数据类型字符串到C 中的INT
- 如何在一行中从不同的变量(数据类型)创建一个字符数组?
- 将多种数据类型写入文件时的其他行和额外的数组元素
- 是否有任何数据类型或方法可以计算当前单元格中先前数组单元格的总和
- 为什么C CHAR数据类型3D数组通过参数第一个括号为空白
- 如何将自定义数据类型(用std::对填充的std::数组)写入文件流
- 如何在宽字符数组的末尾附加一个零字符,以制作这种奇怪的 PCZZWSTR winapi 数据类型
- 模板函数,用于处理 C++ 中的不同数组维度和数据类型
- 使用递归将数据类型放入数组中
- 从自定义数据类型向量数组C 删除
- 抽象数据类型命名约定:(动态)数组,向量,序列,列表,容器,缓冲区
- c++我需要将文件中的数据读取到多维数组中,然后用一种数据类型对数组进行排序.怎样
- 将字符数组解释为多个连接的数据类型
- 哪种数据类型可以容纳10^31的十进制数