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

Python011

c语言 int最大值是多少??,第1张

当无符号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来存储,这样不会影响运算精度。

这样算:一般来说int型 占4字节,1字节=8bit4字节就是4*8bit=32bit

那么int型最大能表示的数为2^32(2的32次方)=也就是:4294967296(这是无符号的int型能表示的最大数,而有符号的int型中还包含负数,所以表示最大值要砍掉一半,如下)

有符号int型:

有符号int型能表示最大数为:4294967296÷2-1=2147483647

如果要在程序中自动算出,可以这么写:pow(2,ziseof(int)*8)/2-1

记得加上头文件:#include <math.h>

望采纳!