在c++或c中存储大数字
storing big numbers in c++ or c
我正试图写一个代码,但我被卡住的地方是存储一个大数字
10 ^ 100。这个大的是数字
任何建议使用任意精度标准库。我想到的一个很流行的词是GMP。它是一个C库,但它也有一个很好的c++接口。它针对性能进行了优化,并且由于它被广泛使用,因此它可能非常健壮。
重新定义单位。一种数量很少会有这么大的变化。任意精度库不是一个坏主意……但是,如果可以为了速度而牺牲精度,则可以使用浮点数。
您需要一个多精度算术库。
最流行的可能是GNU MP - http://gmplib.org/
在c++中,你可以使用任何一个可用的大整数库
需要整数精度吗?如果是,GMP;如果不是,float或double也可以。
这么大的数字(10^100)——假设^指的是"幂"——不适合任何整数类型。您可以使用浮点类型(这里最好是double
)和pow()
,但仍然会失去精度。如果您确实需要100位或更高精度的整数,请使用第三方BigInt实现之一。如果你不需要100位的精度,那么使用double
,这是语言的一部分。
相关文章:
- 我应该以字符形式存储数字以节省内存吗?
- 将大数字(10-12 位数字)存储在无序映射中<字符串,整数>
- 如果char可以在C++中存储数字,为什么我们需要int
- 如果静态变量只为程序的整个部分存储了一个副本,为什么我不能使用静态变量交换 2 个数字?
- 引发未经处理的异常:简单 C++ 程序中的读取访问冲突,动态增加数组长度以存储数字
- 将非数字字符串存储为二进制整数
- 我在一个生成随机数的程序工作,我想将这些数字存储在一个数组中
- 如何在整数数组中有效地存储大量数字?C++
- 如何在 C++ 中将 2 个数字存储在 32 位数字中
- 两个大数字的模型存储为字符串
- 为什么 al_draw_textf() 打印数字而不是存储在字符串变量中的字母
- C++将存储在链表中的两个大数字相乘
- 我如何将数字存储在循环中
- C++数组中存储数字
- 如何在Arduino中存储数字
- 标准容器/库,用于存储数字窗口并返回唯一数字的数量
- STL 按排序顺序存储数字
- 如何在C++中存储数字而不截断小数
- 如何在链接列表中存储数字列表
- 扫描字符串和存储数字和操作在不同的向量c++