我正在尝试编写一个代码,但我遇到的地方是存储一个大数字
10 ^ 100。 这个数字很大
有什么建议
使用任意精度库。 想到的一个非常受欢迎的是GMP 。 它是一个C库,但它也有一个很好的C ++接口。 它针对性能进行了优化,因为它被广泛使用,它可能非常强大。
重新定义您的单位。 很少有单一数量变化那么多。 任意精度库都不是一个坏主意……但如果可以牺牲速度的精度,可以使用浮点数。
您需要一个多精度算术库。
最受欢迎的可能是GNU MP –
在C ++中,您可以使用许多可用的Big Integer库中的任何一个
你需要整数精度吗? 如果是这样,GMP,如果没有,浮点数或双倍数就可以。
如此大的数字(10 ^ 100) – 假设^表示“权力” – 将不适合任何整数类型。 你可以使用浮点类型(这里最好是double
)和pow()
,但你仍然会失去精度。 如果你真的需要100位或更好精度的整数,那就得到第三方BigInt实现之一并使用它。 如果您不需要100位精度,则使用double
,这是语言的一部分。
以上就是c/c++开发分享用c ++或c存储大数字相关内容,想了解更多C/C++开发(异常处理)及C/C++游戏开发关注计算机技术网(www.ctvol.com)!)。
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/c-cdevelopment/544964.html