gpt4 book ai didi

c++ - 非常大的整数的变量类型是什么?

转载 作者:太空宇宙 更新时间:2023-11-04 12:34:16 25 4
gpt4 key购买 nike

我试过用

long long int

但它不适用于像 3141592653589793238462643383279502884197169399375 这样的数字,我最多需要 10 ^ 80。知道吗?让我知道。非常感谢。

最佳答案

您不能为此使用任何内置整数类型。您需要一个“多精度整数”又名“bignum”库。对于 C++,我会尝试 Boost.Multiprecision首先,但请注意,Boost 带来的麻烦可能比它的值(value)要多得多,尤其是当您使用的模块具有任何共享库(又名 DLL)组件时。另一个明显的选择是 GNU MP .它只有一个 C 接口(interface),但它维护良好、可靠、快速且非常流行(事实上,Boost.MP 似乎“只是”它的一个 C++ 包装器!)

警告:您可能需要一个 bignum 库,因为您正在尝试实现使用大量数字的加密原语之一,例如 RSA . 不要这样做。通用的 bignum 库对于加密使用来说并不安全,即使它们是安全的,您仍然会犯许多细微的错误,这些错误会破坏您的安全性。改用经过良好测试的密码学库;对于 C++,我推荐 Botan .

关于c++ - 非常大的整数的变量类型是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57115321/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com