因此,当我偶然发现一些“问题”(例如来自C++ Primer第6版)时,我正在使用新数据类型long long进行一些测试。我正在使用爬库来告诉我长和长长支持的最大数量,并且都出来了9223372036854775807.这怎么可能?为什么数据类型长期支持等于long long的最大数量?
#include <iostream>
#include <climits>
int main()
{
std::cout << "int size is " << sizeof(int) << " bytes." << std::endl;
std::cout << "short size is " << sizeof(short) << " bytes." << std::endl;
std::cout << "long size is " << sizeof(long) << " bytes." << std::endl;
std::cout << "long long size is " << sizeof(long long) << " bytes." << std::endl;
std::cout << "Maximum values: " << std::endl;
std::cout << "int: " << INT_MAX << std::endl;
std::cout << "short: " << SHRT_MAX << std::endl;
std::cout << "long: " << LONG_MAX << std::endl;
std::cout << "long long: " << LLONG_MAX << std::endl;
return 0;
}
参见每种数据类型所要求的最小* *尺寸这样一个问题:http://stackoverflow.com/questions/589575/size-of-int-long-etc,注那它是所需的最小尺寸,即数据类型可以大于指定值。 – Naveen 2012-04-18 06:17:41