对于非常大的整数,什么变量类型

What variable type for extremely big integer numbers?

本文关键字:整数 什么 变量 类型 于非常 非常      更新时间:2023-10-16

我试过使用

long long int

但是对于3141592653589793238462643383279502884197169399375这样的数字不起作用,我需要这个高达10 ^ 80。任何想法?让我知道。谢谢。

不能使用任何内置的整数类型。您需要一个"多精度整数",又名"bignum"库。对于c++,我会尝试Boost。首先是多精度,但是要注意,Boost带来的麻烦可能比它的价值要大得多,特别是如果您正在使用的模块有任何共享库(又名DLL)组件。另一个明显的选择是GNU MP。它只有一个C接口,但是它维护得很好、可靠、快速,而且非常受欢迎(事实上,似乎Boost。MP"只是"它的一个c++包装器!)

WARNING:您可能需要一个bignum库,因为您正在尝试实现使用大数的加密原语之一,如RSA。不要这样做。通用的bignum库对于加密使用是不安全的,即使它们是安全的,您仍然可能犯许多微妙的错误,从而破坏您的安全性。使用经过良好测试的加密库;对于c++,我推荐Botan。