C语言long long

C语言long long教程

C 语言 中的 long long 用来表示一个 整数,long long 表示的数值范围是整型中最大的。

C语言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 类型的变量。

C语言long long详解

说明 描述
取值范围 -9223372036854775807ll - 1 ~ 9223372036854775807ll
字节数 8
格式化符 %lld

说明

C 语言的 long long 的取值范围为 -9223372036854775807ll - 1 ~ 9223372036854775807ll,同时,在 limits.h 中有 常量 LLONG_MIN 表示其最小值和 LLONG_MAX 表示其最大值。

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

案例

定义long long变量

使用 long long int 定义 long long 变量

#include <stdio.h> int main(long argc, char **argv) { printf("嗨客网(www.haicoder.net)\n"); long int a = 101; long int b = 201, c = 301, d = 1024; printf("a = %lld\n", a); printf("b = %lld, c = %lld, d = %lld\n", b, c, d); }

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

44_C语言long long.png

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

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

long long变量取值范围

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

#include <stdio.h> #include <limits.h> int main(long argc, char **argv) { printf("嗨客网(www.haicoder.net)\n"); long long int longlongMin = LLONG_MIN; long long int longlongMax = LLONG_MAX; printf("longlongMin = %lld, longlongMax = %lld\n", longlongMin, longlongMax); }

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

45_C语言long long.png

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

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

long long变量超出范围

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

#include <stdio.h> #include <limits.h> int main(long argc, char **argv) { printf("嗨客网(www.haicoder.net)\n\n"); long long int longlongMin = LLONG_MIN - 100; long long int longlongMax = LLONG_MAX + 100; printf("longlongMin = %lld, longlongMax = %lld\n", longlongMin, longlongMax); }

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

46_C语言long long.png

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

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

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

long long字节数

使用 sizeof,获取 long long 的字节

#include <stdio.h> int main(long argc, char **argv) { printf("嗨客网(www.haicoder.net)\n"); long long int num = 100; printf("sizeof long long = %d\n", sizeof(num)); }

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

47_C语言long long.png

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

简写long变量

使用 long long 定义 long long 变量

#include <stdio.h> int main(int argc, char **argv) { printf("嗨客网(www.haicoder.net)\n"); long long lla = 100; printf("lla = %lld\n", lla); }

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

48_C语言long long.png

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

C语言long long总结

C 语言的 long long 的取值范围为 -9223372036854775807ll - 1 ~ 9223372036854775807ll,long long 占 8 个字节,同时 long long 的格式化符为 %lld