- 陶小凡
-
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 (数据类型)
- LuckySXyd
-
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 ",~(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 ",i);
printf("%d ",j);
return 0;
}
整数值越界后符号改变
方法3:
#include <stdio.h>
int main()
{
int i=0;
i=~i;
i=i<<(sizeof(int)*8-1);
printf("%d ",i);
i--;
printf("%d ",i);
return 0;
}
计算机采用补码存储,先补码得到-1(即各位全为1),然后利用移位运算得到最小,进而得到最大。
- nicehost
-
16位编译器说明:
int占16位。
内存2字节。
最大值:32767
这也是最原始版本的要求。
32位和64位编译器:
int占32位。
内存4字节。
最大值:21474836473
位数的增加,那么自然位数也在倍增。
决定int最大值的主要原因,根据编译器类型不同而变化。
所以某些编写的程序,不能成功的在电脑中运行,多半与编译器有关系,可能并不是程序的原因。
一般程序的表达方式,最高位为符号位,位数为n位时,则最大值为2^(n-1)即2的n-1次幂。
关于算法的问题,自然也要使用我们所学习的数学知识。
在编译器中,可以使用sizeof(int)查看占用的字节数,将求取的数值通过pintf打印在控制台。
- 小菜G
-
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次幂。
- 苏州马小云
-
这个和编译器版本有关。
在16位编译器下(很多经典书籍中使用的都是这个版本)int 是2个字节,long是4个
在32位编译器下(目前能够正常使用的多数都是这类的)int 是4个字节,long是4个
- wio
-
#include <stdio.h>
#include <limits.h>
int main()
{
printf("max short int is: %d ", SHRT_MAX);
printf("max int is: %d ", INT_MAX);
printf("max long int is: %d ", LONG_MAX);
return 0;
}
- S笔记
-
bits/stdc++.h中有宏INT_MAX(这是C++的,但其实C的也是一样的)
值为2^31-1,即2147483647
- 大鱼炖火锅
-
是的,在32位机中就是这个结果。
- cloudcone
-
编译器和cpu相关