c语言 int最大值是多少??

我用这试了下输出结果是4int和longint、unsigendlongint结果都是4shortint结果是2#include<stdio.h>intmain(void... 我用这试了下 输出结果是 4 int 和 long int 、unsigend long int 结果都是4 short int 结果是2
# include <stdio.h>
int main(void)
{
int i = sizeof(unsigned long int);

printf("i = %d\n",i);
return 0;
}
展开
 我来答
幻翼高达Zero
2019-05-24 · TA获得超过1.7万个赞
知道答主
回答量:499
采纳率:0%
帮助的人:8万
展开全部

c语言中,int最大值是2147483647。

c语言中,int、long int 、unsigend long int都是4个字节,其可以用sizeof()()函数得出。占用4个字节的整数其最大能表示数的个数是2^32(4个字节共32位)。

int、long int都是带符号整数类型,因此它们能表示的整数范围为-2147483648~2147483647,也就是-2^31~2^31-1。unsigend long int是无符号整数类型,能表示的整数范围是0~4294967295,即0~2^32-1。

同理,short int是2个字节的带符号整数类型,能表示的整数范围是0~65535,即0~2^16-1。

扩展资料:

C语言中,float数据类型的表示范围:

float为单精度浮点数,占4字节,其数值范围为3.4E-38 ~3.4E+38或者-(3.4E-38 ~3.4E+38)。float的指数位有8位,尾数位有23位,符号位1位。于是,float的指数范围为-127~+128,按补码的形式来划分。

参考资料来源:百度百科-INT (数据类型)

大野瘦子
高粉答主

推荐于2019-10-07 · 繁杂信息太多,你要学会辨别
知道小有建树答主
回答量:1227
采纳率:100%
帮助的人:34万
展开全部

int最大值,根据编译器类型不同而变化,具体如下:

1、对于16位编译器,int占16位(2字节)。

int的最大值为32767.

2、对于32位和64位编译器,int占32位(4字节)。

int的最大值为2147483647

3、可以通过打印sizeof(int)查看平台对应的int占用字节数,乘8后即为位数。

最高位为符号位,如位数为n,则最大值为

2^(n-1)

即2的n-1次幂。

扩展资料:

得的C语言中int最大值与最小值的方法

方法1:

printf("%d\n",~(unsigned int)0/2);

当无符号0以二进制存储在内存中时,每一位都为0,以32位int为例,0(unsigned int)的二进制为:

00000000 00000000 00000000 00000000

按位取反(~)后变成:

11111111 11111111 11111111 11111111

此时的十进制为:

4294967295

除以2(int类型中有一半表示负数,且比正数多一个),得到:

2147483647

即为32位int型最大值

方法2:

#include <stdio.h>

int main()

{

int i=0,j=1;

while (j>0)

{

j++;

i++;

}

printf("%d\n",i);

printf("%d\n",j);

return 0;

}

整数值越界后符号改变

方法3:

#include <stdio.h>

int main()

{

int i=0;

i=~i;

i=i<<(sizeof(int)*8-1);

printf("%d\n",i);

i--;

printf("%d\n",i);

return 0;

}

计算机采用补码存储,先补码得到-1(即各位全为1),然后利用移位运算得到最小,进而得到最大。

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
小周爱唠叨
高粉答主

2018-06-26 · 说的都是干货,快来关注
知道小有建树答主
回答量:966
采纳率:100%
帮助的人:33.1万
展开全部
  • 16位编译器说明:

    int占16位。

    内存2字节。

    最大值:32767

    这也是最原始版本的要求。

  • 32位和64位编译器:

    int占32位。

    内存4字节。

    最大值:21474836473

    位数的增加,那么自然位数也在倍增。

  • 决定int最大值的主要原因,根据编译器类型不同而变化。

    所以某些编写的程序,不能成功的在电脑中运行,多半与编译器有关系,可能并不是程序的原因。

  • 一般程序的表达方式,最高位为符号位,位数为n位时,则最大值为2^(n-1)即2的n-1次幂。

    关于算法的问题,自然也要使用我们所学习的数学知识。

  • 在编译器中,可以使用sizeof(int)查看占用的字节数,将求取的数值通过pintf打印在控制台。

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
风若远去何人留
2015-12-31 · 知道合伙人互联网行家
风若远去何人留
知道合伙人互联网行家
采纳数:20412 获赞数:450126
专业C/C++软件开发

向TA提问 私信TA
展开全部
int最大值,根据编译器类型不同而变化。
1 对于16位编译器,int占16位(2字节)。
int的最大值为32767.
2 对于32位和64位编译器,int占32位(4字节)。
int的最大值为2147483647

3 可以通过打印sizeof(int)查看平台对应的int占用字节数。乘8后即为位数。
最高位为符号位,如位数为n,则最大值为
2^(n-1)
即2的n-1次幂。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
bhtzu
2013-04-03 · TA获得超过1.1万个赞
知道大有可为答主
回答量:8088
采纳率:85%
帮助的人:4195万
展开全部
这个和编译器版本有关。
在16位编译器下(很多经典书籍中使用的都是这个版本)int 是2个字节,long是4个
在32位编译器下(目前能够正常使用的多数都是这类的)int 是4个字节,long是4个
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(8)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式