我正在使用开发 C++
不稳定的线是...
long long n=600851475143;
错误描述:
integer constant is too long for "long" type
我需要帮助来处理大数字。
我正在使用开发 C++
不稳定的线是...
long long n=600851475143;
错误描述:
integer constant is too long for "long" type
我需要帮助来处理大数字。
long long n = 600851475143LL;
附加LL
使其成为long long
文字。顺便说一句,long long
直到 C++11 才被标准化。
在它后面加上一个LL。
long long n=600851475143LL;
看来你的编译器(g++?)不太支持long long类型,数字应该加LL后缀,Visual C++不支持。尝试使用 __int64 代替 n:
__int64 n=600851475143;
gcc 和 Visual C 在 Windows 上都支持 __int64。
没有后缀的整数常量取最小值,int
long int
并且long long int
可以保存值(2.14.2,表 6),因此,假设long long
该值需要 ,600851475413
则类型为long long
。从错误消息来看,编译器似乎将常量视为类型long
而不是long long
. 所以添加LL
是编译器错误的解决方法。