long long整型有两种:long long和unsigned long long。在C++11中,尺度请求long long整型可以在分歧平台上有分歧的长度,但最少有64位。咱们在写常数字面量时,可使用LL后缀(或是ll)标识一个long long类型的字面量,而ULL(或ull、Ull、uLL)暗示一个unsigned long long类型的字面量。好比:
long long int lli=-9000000000000000000LL;
unsigned long long int ulli=-9000000000000000000ULL;
就界说了一个有符号的long long变量ll瑜珈襪,i和无符号的unsigned long long变量ulli。究竟上,在C++11中,另有不少与long long等价的类型。好比对付有符号的,下面的类型是等价的:long long、signed long long、long long int、signed long long int;而unsigned long long和unsigned long long int也是等价的。
同其他的整型同样,要领会平台上long long巨细的法子就是检察<climits>(或<limits.h>中的宏)。与long long整型相干的一共有3个:LLONG_MIN、LLONG_MAX和ULLONG_MIN,它们别离代表了平台上最小的long long值、最大的long long值,和最大的unsigned long long值。可以看看下面这个例子,以下面的代码清单所示。
#include <climits>
#include <cstdio>
using namespace std;
int main(){
long long ll_min=LLONG_MIN;
long long ll_max=LLONG_MAX;
unsigned long long ull_max=ULLONG_MAX;
printf(min of long long:%lld\n,ll_min);//min of long long:
-9223372036854775808
printf(max of long long:%lld\n,ll_max);//max of long long:
9223372036854775807
printf(max of unsigned long long:%llu\n,ull_max);//max of unsigned
long long:18446744073709551615
}
//编译选项:g++ -std=c++11 2-2-1.cpp
在代码清单2-5中,将以上3个宏打印了出来,对付printf函数機車借款,来讲,输出有符号的long long类型变量可以用符号%lld,而无符号的unsigned long long则可以采纳%llu。18446744073709551615用16进制暗示是0xFFFFFFFFFFFFFFFF(16个F),可知在咱们的实行机上,long long是一个64位的类型。