1、int 有符号整型
(1)int表示有符号整形:有符号即正负号,-1,-3,0 ,4
理论写法signed int,signed可省略
(2)表示的数的范围-2^31~2^31-1,十进制-2147483648~2147483647,超过这个范围 的数存在int中就不是原数了,装不开。
(3)定义一个int类型变量,计算机分配4字节空间
字节是计算机编址单位
位是计算机最小的存储单位
1字节等于8个2进制位
一个2进制位只有两个数0或者1
4个字节就是32个2进制位
1GB == 1024MB,1MB == 1024KB,1KB == 1024B, 1B == 1字节。
(4)得到类型的大小使用运算符:sizeof
方法:sizeof(类型) sizeof(变量名)
printf("%u", sizeof(int));
(5)输出无符号整数 printf("%d", a);
%d表示有符号十进制整型的输出
2、unsigned int无符号整型
(1)用法: unsigned int a;
(2)能装下数的范围:十进制0~ 4294967295,0~2^32-1,无符号就是正整数
(3)内存大小 4字节,跟有符号的一样
(4)得到类型的大小 sizeof(类型) sizeof(变量名)
(5)输出无符号整数 printf("%u", a);
%u表示无符号十进制整型的输出
(6)两种情况表示数的个数一样:4294967296个
3、short 短整型
(1)原型short int,int可以省略
(2)内存字节数 2字节, sizeof 取类型的大小,同上
(3)范围:有符号 signed short -2^15~2^15-1 -32768~32767
无符号 unsigned short 0~2^16-1 0~65535
两种情况表示数的个数一样 65536
(4)输入输出格式符 %hd
(5)《C和指针》标准只规定int不小于short的长度
4、long 长整型
(1)原型long int 长整型,int可以省略
(2)内存字节数sizeof(long); 得到大小
windows下32/64位环境均4字节,linux64下8字节,大家具体可以测试,不用记
(3)《C和指针》标准只规定long不小于int的长度
(4)范围4字节情况下:
无符号 unsigned long 0~2^32-1 十进制0~4294967295
有符号 signed long -2^31~2^31-1 十进制-2147483648~2147483647
两种表示的数的个数一样
(5)输出格式符 %ld ,注意不是1,是哎哦
5、long long 超长整型
(1)C99标准扩展的新类型,VC++6.0不支持
(2)原型long long int 超长整型,int可以省略
(3)内存字节数sizeof(long long); 得到大小8字节
(4)范围4字节情况下:
无符号 unsigned long 0~2^64-1 十进制很大
有符号 signed long -2^63~2^63-1 十进制
两种表示的数的个数一样
(5)输出格式符 %lld ,注意不是1,是哎哦
6、选择
实际应用中,根据你数据的大小范围来确定你要使用的类型,比如你的数据只是1000~10000范围,那你就选用short,你的数据在谁的范围,就选用相应的类型即可。目的就是节省一点儿内容空间,以及保证数据正确存储。