当无符号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来存储,这样不会影响运算精度。
它是一种数据类型。代表整形类的数据类型整型值可以用十进制,十六进制或八进制符号指定,前面可以加上可选的符号(-
或者
+)。
如果用八进制符号,数字前必须加上
0(零),用十六进制符号数字前必须加上
0x。
int
的长度与机器字长相同,16位的编译器上int长16位,32位的编译器上int长32位
举个例子:int x[5]
这个的意思就是你申请了一个数组(和人排坐座位是一样的,就是五个位子么,第一个位子叫做x[0],第二个叫做x[1]……最后一个位子叫做x[4],注意没有x[5],这个就是这么定义的,从0开始,没有为什么!)
所以[ ] 里面是放数字的,表示有几个“位子”。
应用方法:x[0]=3 就是第‘0’这个位子,做了一个数字叫做3的”人“,以后使用x[0]时候就是在使用数字“3”。更改方法,重新赋值 x[0]=4;那么……这个地方就做了数字4这个人了。
注意,因为你开头是 int 所以这里只能填入“整数”!
不懂可以继续问,希望能帮助你~