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

我用这试了下 输出结果是 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;
}

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

00000000000000000000000000000000

按位取反(~)后,变成:

11111111111111111111111111111111

此时的十进制为:

4294967295

除以2(因为int类型中有一半表示负数且比正数多一个)之后为:

2147483647

即为32位int类型最大值。

C语言中最大的整型数据类型是long类型,占4个字节


C中短整型和整型均占2个字节,取值范围是 -32768 ~~~ 32767


长整型占4个字节,取值范围是 -2147483648 ~~~~ 2147483647


如果是无符号数的话,可以表示的数据就是


短整型和 整型:  0--- 65535
长整型:             0---4294967295


在C语言中如果一个数很大的话,超过最大的长整型,可以使用double来存储,这样不会影响运算精度。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2020-03-02
第2个回答  2019-02-18
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次幂。
相似回答