C++ 中的 long long 用来表示一个 整数,long long 表示的数值范围是整型中最大的。
long long int varname = value;
long long varname = value; //简写
参数 | 描述 |
---|---|
long long int | 定义 long long 类型变量使用的类型。 |
varname | 变量名。 |
value | 可选,变量的初始值,该值不可以超过 long long 类型的最大值。 |
使用 long long int 定义了一个 long long 类型的变量 varname,并赋初值为 value,同时,还可以直接使用 long long 来定义 long long 类型的变量。
说明 | 描述 |
---|---|
取值范围 | -9223372036854775807ll - 1 ~ 9223372036854775807ll |
字节数 | 8 |
C++ 的 long long 的取值范围为 -9223372036854775807ll - 1 ~ 9223372036854775807ll,同时,在 limits.h 中有 常量 LLONG_MIN 表示其最小值和 LLONG_MAX 表示其最大值。
其中,取值范围数字最后的 ll 表示这个是一个长整型变量。
使用 long long int 定义 long long 变量
#include <iostream>
using namespace std;
int main(int argc, char **argv)
{
cout << "嗨客网(www.haicoder.net)\n" << endl;
long long int a = 101;
long long int b = 201, c = 301, d = 1024;
cout << "a = " << a << endl;
cout << "b = " << b << " c = " << c << " d = " << d << endl;
}
程序运行后,控制台输出如下:
我们首先,定义了一个 long long 类型的变量 a,并初始化为 101,接着,我们一次定义了三个 long long 类型的变量,分别为 b,c 和 d,并分别初始化。
最后,我们使用了 cout 打印了我们定义的四个变量的值。
使用 limits.h 获取 long long 的取值范围
#include <iostream>
#include <limits.h>
using namespace std;
int main(int argc, char **argv)
{
cout << "嗨客网(www.haicoder.net)\n" << endl;
long long int longlongMin = LLONG_MIN;
long long int longlongMax = LLONG_MAX;
cout << "longlongMin = " << longlongMin << " longlongMax = " << longlongMax << endl;
}
程序运行后,控制台输出如下:
我们首先,使用 include 引入了 limits.h 头文件,接着,我们使用了常量 LLONG_MIN 和 LLONG_MAX 分别获取了 long long 类型的最小值和最大值。
同时,我们将最小值和最大值分别赋值给了变量 longlongMin 和 longlongMax,最后,我们使用 cout 输出了 long long 类型的最大值和最小值。
如果变量超出了 long long 范围,结果未知
#include <iostream>
#include <limits.h>
using namespace std;
int main(int argc, char **argv)
{
cout << "嗨客网(www.haicoder.net)\n" << endl;
long long int longlongMin = LLONG_MIN - 100;
long long int longlongMax = LLONG_MAX + 100;
cout << "longlongMin = " << longlongMin << " longlongMax = " << longlongMax << endl;
}
程序运行后,控制台输出如下:
我们分别定义了一个 long long 类型的变量 longlongMin 和 longlongMax,同时,我们将 longlongMin 赋值为 long long 类型的最小值还减去 100,将 longlongMax 赋值为 long long 类型的最大值还加上 100。
最后,我们输出了 longlongMin 和 longlongMax,我们发现,此时的 longlongMin 的值和 longlongMax 的值已经不是正确的值了,已经发生了溢出。
因此,我们定义变量时,变量的值一定不要超过变量的取值范围。
使用 sizeof,获取 long long 的字节
#include <iostream>
using namespace std;
int main(int argc, char **argv)
{
cout << "嗨客网(www.haicoder.net)\n" << endl;
long long int num = 100;
cout << "sizeof long long = " << sizeof(num) << endl;
}
程序运行后,控制台输出如下:
我们使用 sizeof 获取了 long long 变量所占的字节数,结果,输出了 8,即 long long 占 8 字节。
使用 long long 定义 long long 变量
#include <iostream>
using namespace std;
int main(int argc, char **argv)
{
cout << "嗨客网(www.haicoder.net)\n" << endl;
long long lla = 100;
cout << "lla = " << lla << endl;
}
程序运行后,控制台输出如下:
我们定义 long long 变量时,也可以直接使用 long long 就可以了,而没有使用 long long int。
C++ 的 long long 的取值范围为 -9223372036854775807ll - 1 ~ 9223372036854775807ll,long long 占 8 个字节。