long long和long有什么区别?而且它们都不能处理12位数字(600851475143),我是不是忘了什么?
#include <iostream>
using namespace std;
int main(){
long long a = 600851475143;
}发布于 2011-06-24 09:39:02
long long在C++98/C++03中不存在,但在C99和c++0x中存在。
保证long至少为32位。
保证long long至少64位。
发布于 2011-06-24 09:45:16
取决于你的compiler.long,long是64位,应该可以处理12位digits.Looks,就像你的例子一样,它只是考虑它很长,因此不能处理12位数。
发布于 2011-06-24 09:39:18
您的C++编译器支持long long,这在C99标准(这是一个C标准,而不是C++标准)中保证至少为64位。请参阅可视化C++头文件以获取系统上的范围。
推荐
对于新程序,建议只使用bool、char、int和double,直到出现需要其他类型之一的情况。
http://www.somacon.com/p111.php
https://stackoverflow.com/questions/6462439
复制相似问题