C/C++编程:long long类型

数据类型long long是C++11中重新定义的,标准规定它最小是64bit

在这之前为了提供超过32bit的整数,各个开发环境(编译器)分别定义了各自的64bit整数类型。这会导致代码不兼容

现在,C++11直接定义了long long类型

我猜许多人应该使用过这个类型,当然在C++11之前,这种尝试会被编译器无情拒绝,自C++11之后就不会在发生这样地情况了。因此我认为:在C++11新特性中,long long一定是最容易被接受的一个。多数程序员看到它时甚至不会意识到这是一个新特性。

相应的,C++11规定,在指定long long字面值类型时,使用ll或者LL。这也可以从longl或者L推断出来。

另外,也可以像long类型的字面值一样使用U后缀表明这是一个无符号数

2LL

3ll

100ULL

小写的ll虽然合法,但是容易和数字1混淆,还是用大写的吧。

另外,要了解平台上long long大小的方法是查看或者中的宏。与long long整型相关的一共有三个,如下:

#include 
#include 

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);
    printf("max of long long: %lld\n", ll_max);
    printf("max of unsigned long long: %llu\n", ull_max);
    return 0;
}

在这里插入图片描述

你可能感兴趣的:(C++)