我正在使用开发 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是编译器错误的解决方法。