宏LONG_MAX和LLONG_MAX均存在与头文件limits.h中,分别表示long int和long long int类型的最大值。
下面程序在64位编译系统中,打印该宏的值。
#include <stdio.h>
#include <limits.h>
#include <string.h>
int main() {
char buf[100];
sprintf(buf, "%lld", LLONG_MAX);
printf("%s\n", buf);
memset(buf, 0, sizeof(buf));
sprintf(buf, "%ld", LONG_MAX);
printf("%s\n", buf);
return 0;
}
执行结果:
9223372036854775807
9223372036854775807
- 32位编译系统中:
long 占4字节 int 占4字节 long int 占4字节 - 64位编译系统中:
long 占8字节 int 占4字节 long int 占8字节 - 32位和64位编译系统中
long long int 在32位和64位编译系统中,都占8字节
此博客探讨了在32位和64位编译系统中,long及long long整型最大值的表示。在64位系统中,long类型和long long类型分别占用8字节,而32位系统中,long占4字节。程序通过printf和sprintf函数展示了在两种系统环境下LLONG_MAX和LONG_MAX的值,均为9223372036854775807,强调了64位系统对大整数的处理能力提升。
4540

被折叠的 条评论
为什么被折叠?



