关于int的取值范围

int的取值范围不是-32768~32767么那下面的语句为什么可以实现呢inti;for(i=100;i<1000000000;i++)... int的取值范围不是-32768~32767么 那下面的语句为什么可以实现呢
int i;
for(i=100;i<1000000000;i++)
展开
 我来答
仁昌爱娱乐
高粉答主

2020-01-04 · 专注关心娱乐
仁昌爱娱乐
采纳数:760 获赞数:459851

向TA提问 私信TA
展开全部

int是一种数据类型,在编程语言C中,是用于定义整数类型变量的标识符。在一般的电脑中,int占用4字节,32比特,数据范围为-2147483648~2147483647[-2^31~2^31-1]。在微型机中,int占用2字节,16比特,数据范围为-32768~32767[-2^15~2^15-1]。

扩展资料:

如果编写者指定一个数超出了 int的范围,将会被解释为 float。如果float超出了 int的范围,则结果不确定,因为没有足够的精度使float给出一个确切的整数结果。在此情况下没有警告,甚至没有任何通知。

要明示地将一个值转换为 int,用 (int) 或 (integer) 强制转换。不过大多数情况下都不需要强制转换,因为当运算符,函数或流程控制需要一个 int参数时,值会自动转换。

bnujwch
推荐于2017-09-24 · TA获得超过1432个赞
知道小有建树答主
回答量:697
采纳率:100%
帮助的人:606万
展开全部
C语言的int类型与开发环境平台有关,可能是16位(2^16),也可能是32位(2^32),估计现在大多数开发环境都是用32位的,所以范围远远超出65535,可达到4294967296,所以你的程序可能可以运行
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
17哥
2012-12-13 · 菩提只向心觅,何劳向外求玄
17哥
采纳数:244 获赞数:1230

向TA提问 私信TA
展开全部
int的取值范围和机器的字数是有关系的,如果是32位的机器,则inti的取值范围为-2^31 - 2^31-1.如果是64位机器的话就是-2^63 - 2^63-1.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
杨嘉骏2010
推荐于2017-09-03 · TA获得超过102个赞
知道答主
回答量:13
采纳率:0%
帮助的人:6.2万
展开全部
Mark~~一下。。

unsigned int 0~4294967295
int -2147483648~2147483647
unsigned long 0~4294967295
long -2147483648~2147483647
long long的最大值:9223372036854775807
long long的最小值:-9223372036854775808
unsigned long long的最大值:1844674407370955161
__int64的最大值:9223372036854775807
__int64的最小值:-9223372036854775808
unsigned __int64的最大值:18446744073709551615

资料来源:CSDN
http://blog.csdn.net/niuox/article/details/8231945
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
kirayamato201
2013-01-13 · TA获得超过365个赞
知道小有建树答主
回答量:251
采纳率:0%
帮助的人:271万
展开全部
你应该是用vs系列的编译器吧
微软把int类型分配了4个字节
就是int的范围是2147483647~-2147483648所以 可以执行
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(6)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式