gpt4 book ai didi

c++ - 在 C++ 中,哪种数据类型用于非常大的数字?

转载 作者:可可西里 更新时间:2023-11-01 15:31:52 25 4
gpt4 key购买 nike

我必须在我的程序中存储数字 600851475143。我也尝试将其存储在 long long int 变量和 long double 中,但在编译时显示错误

integer constant is too large for "long" type. 

我也尝试过unsigned long long int。我正在使用 MinGW 5.1.6 在 Windows 上运行 g++。

我应该使用什么数据类型来存储数字?

最佳答案

long long 可以,但您必须在文字上使用后缀。

long long x = 600851475143ll; // can use LL instead if you prefer.

如果您将 ll 留在文字的末尾,那么编译器会假设您希望它是一个 int,在大多数情况下是一个 32-位符号数。 32 位不足以存储这么大的值,因此出现警告。通过添加 ll,您向编译器表明文字应解释为 long long,它足够大以存储值。

后缀对于指定为函数调用哪个重载也很有用。例如:

void foo(long long x) {}
void foo(int x) {}

int main()
{
foo(0); // calls foo(int x)
foo(0LL); // calls foo(long long x)
}

关于c++ - 在 C++ 中,哪种数据类型用于非常大的数字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3595247/

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