C++ long

C++ long教程

C++ 中的 long 用来表示一个 整数,也可以叫做长整型,long 能表示的数不一定是大于 int 类型的,但一定不会小于 int 类型范围,因此,我们可以说 long 的取值范围大于等于 int 的取值范围。

C++ long定义详解

语法

long int varname = value; long varname = value; //简写

参数

参数 描述
long int 定义 long 类型变量使用的类型。
varname 变量名。
value 可选,变量的初始值,该值不可以超过 long 类型的最大值。

说明

使用 long 定义了一个 long 类型的变量 varname,并赋初值为 value,同时,还可以直接使用 long 来定义 long 类型的变量。

C++ long详解

说明 描述
取值范围 -2147483647L - 1 ~ 2147483647L
字节数 4
格式化符 %ld

说明

C++ 的 long 的取值范围为 -2147483647L - 1 ~ 2147483647L,同时,在 limits.h 中有 常量 LONG_MIN 表示其最小值和 LONG_MAX 表示其最大值。

其中,取值范围数字最后的 L 表示这个是一个长整型变量。

案例

定义long变量

使用 long int 定义 long 变量

#include <iostream> using namespace std; int main(int argc, char **argv) { cout << "嗨客网(www.haicoder.net)\n" << endl; long int a = 101; long int b = 201, c = 301, d = 1024; cout << "a = " << a << endl; cout << "b = " << b << " c = " << c << " d = " << d << endl; }

程序运行后,控制台输出如下:

24_C long.png

我们首先,定义了一个 long 类型的变量 a,并初始化为 101,接着,我们一次定义了三个 long 类型的变量,分别为 b,c 和 d,并分别初始化。

最后,我们使用了 cout 打印了我们定义的四个变量的值。

long变量取值范围

使用 limits.h 获取 long 的取值范围

#include <iostream> #include <climits> using namespace std; int main(int argc, char **argv) { cout << "嗨客网(www.haicoder.net)\n" << endl; long int longMin = LONG_MIN; long int longMax = LONG_MAX; cout << "longMin = " << longMin << " longMax = " << longMax << endl; }

程序运行后,控制台输出如下:

25_C long.png

我们首先,使用 include 引入了 limits.h 头文件,接着,我们使用了常量 LONG_MIN 和 LONG_MAX 分别获取了 long 类型的最小值和最大值。

同时,我们将最小值和最大值分别赋值给了变量 longMin 和 longMax,最后,我们使用 cout 输出了 long 类型的最大值和最小值。

long变量超出范围

如果变量超出了 long 范围,结果未知

#include <iostream> #include <climits> using namespace std; int main(int argc, char **argv) { cout << "嗨客网(www.haicoder.net)\n" << endl; long int longMin = LONG_MIN - 100; long int longMax = LONG_MAX + 100; cout << "longMin = " << longMin << " longMax = " << longMax << endl; }

程序运行后,控制台输出如下:

26_C long.png

我们分别定义了一个 long 类型的变量 longMin 和 longMax,同时,我们将 longMin 赋值为 long 类型的最小值还减去 100,将 longMax 赋值为 long 类型的最大值还加上 100。

最后,我们输出了 longMin 和 longMax,我们发现,此时的 longMin 的值和 longMax 的值已经不是正确的值了,已经发生了溢出。

因此,我们定义变量时,变量的值一定不要超过变量的取值范围。

long字节数

使用 sizeof,获取 long 的字节

#include <iostream> using namespace std; int main(int argc, char **argv) { cout << "嗨客网(www.haicoder.net)\n" << endl; long int num = 100; cout << "sizeof long = " << sizeof(num) << endl; }

程序运行后,控制台输出如下:

27_C long.png

我们使用 sizeof 获取了 long 变量所占的字节数,结果,输出了 4,即 long 占 4 字节。

简写long变量

使用 long 定义 long 变量

#include <iostream> using namespace std; int main(int argc, char **argv) { cout << "嗨客网(www.haicoder.net)\n" << endl; long la = 100; cout << "la = " << la << endl; }

程序运行后,控制台输出如下:

28_C long.png

我们定义 long 变量时,也可以直接使用 long 就可以了,而没有使用 long int。

C++ long总结

C++ 的 long 的取值范围为 -2147483648 ~ 2147483647,long 占 4 个字节。