C语言 关于int和long类型的范围
答案:2 悬赏:0
解决时间 2021-01-29 14:32
- 提问者网友:活着好累
- 2021-01-29 04:29
C语言 关于int和long类型的范围
最佳答案
- 二级知识专家网友:轻熟杀无赦
- 2021-01-29 05:08
编译器不同,宽度是不相同,分别如下:
16位编译器:
int: 2个字节
long: 4个字节
long long: 8个字节
unsigned long: 4个字节
32位编译器:
int: 2个字节
long: 4个字节
long long: 8个字节
unsigned long: 4个字节
64位编译器:
int: 4个字节
long: 8个字节
long long: 8个字节
unsigned long: 8个字节
具体范围,请看下图:
16位编译器:
int: 2个字节
long: 4个字节
long long: 8个字节
unsigned long: 4个字节
32位编译器:
int: 2个字节
long: 4个字节
long long: 8个字节
unsigned long: 4个字节
64位编译器:
int: 4个字节
long: 8个字节
long long: 8个字节
unsigned long: 8个字节
具体范围,请看下图:
全部回答
- 1楼网友:洒脱疯子
- 2021-01-29 05:42
32位机器上 int类型 最小-2^7二进制补码10000000,最大2^7-1二进制0
在32位系统上int和long的取值范围如下:
int取值范围:-2147483648 ~ 2147483647
long取值范围:-2147483648 ~ 2147483647
两者的范围是一样的,但是上面范围是vc6.0中查到的取值范围 ,C语言标准库中limits.h头文件中定义的取值范围。用户可以使用limits.h头文件中的INT_MIN、INT_MAX、LONG_MIN、LONG_MAX来查看int或者long类型的取值范围。#include
#include
int main()
{
printf("int取值范围:%d ~ %d ", INT_MIN, INT_MAX);
printf("long取值范围:%d ~ %d ", LONG_MIN, LONG_MAX);
return 0;
}
在32位系统上int和long的取值范围如下:
int取值范围:-2147483648 ~ 2147483647
long取值范围:-2147483648 ~ 2147483647
两者的范围是一样的,但是上面范围是vc6.0中查到的取值范围 ,C语言标准库中limits.h头文件中定义的取值范围。用户可以使用limits.h头文件中的INT_MIN、INT_MAX、LONG_MIN、LONG_MAX来查看int或者long类型的取值范围。#include
#include
int main()
{
printf("int取值范围:%d ~ %d ", INT_MIN, INT_MAX);
printf("long取值范围:%d ~ %d ", LONG_MIN, LONG_MAX);
return 0;
}
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯