C语言 关于int和long类型的范围

两者的取值范围是各是多少?请分别用十进制和二进制数来表示,谢谢... 两者的取值范围是各是多少?请分别用十进制和二进制数来表示,谢谢 展开
 我来答
一骑当后
推荐于2017-09-17 · 知道合伙人数码行家
一骑当后
知道合伙人数码行家
采纳数:40298 获赞数:306440
网络、设备维护、电路、弱电检测。

向TA提问 私信TA
展开全部

编译器不同,宽度是不相同,分别如下:

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个字节


具体范围,请看下图:

吉祥二进制
高粉答主

2015-05-27 · 科技改变生活,生活改变科技。
吉祥二进制
采纳数:33926 获赞数:84580

向TA提问 私信TA
展开全部

  在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 <stdio.h>
#include <limits.h>
int main()

printf("int取值范围:%d ~ %d\n", INT_MIN, INT_MAX);
printf("long取值范围:%d ~ %d\n", LONG_MIN, LONG_MAX);
return 0;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
黑手JT笨蛋945
推荐于2017-10-04 · 超过22用户采纳过TA的回答
知道答主
回答量:52
采纳率:0%
帮助的人:57.9万
展开全部
32位机器上 int类型 最小-2^7二进制补码10000000,最大2^7-1二进制01111111
long类型最小-2^15二进制补码1000,0000,0000,0000,最大2^15-1二进制0111,1111,1111,1111
追问
请换算成十进制表示一下  谢谢
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式