C语言的数据类型基本介绍
在C语言中,数据类型可以分为:基本数据类型(整型、浮点型/实型、字符型)、构造数据类型(数组、指针、结构体、共用体、枚举)以及空类型(万能类型void)。常用的有:整形(int)、字符型(char)、短整型(short)、长整型(long)、单精度浮点型(float)、双精度浮点型(double)。
1. 整型
1)整型数据类型概述
整型数据是指不包含小数部分的数值型数据(例如:123、-123、567),整型数据类型使用关键字“int”来表示。C语言规定了一个“int”整型数据至少占用2个字节的空间大小,通常占用4个字节的空间(8位、16位单片机中int占2个字节,32位单片机和PC电脑int占4个字节)。以下所讲的int类型都是以32位单片机为基础的。
2)整型数据类型分类
整型数据根据是否支持符号(正负号)形式分为:有符号类型(signed)和无符号类型(unsigned),缺省(默认)表示为有符号类型(int 等价于 signed int)。
a)有符号类型 4byte = 32bit 1个符号位 + 31个数据位
int / signed int有符号类型的整型数据使用最高位来表示符号位(0:正 1:负),其余31位用来表示数据。数据的取值范围是:-2^31~+2^31-1。(之所以是31次方是因为一共有32位但是有一位做符号位去了,所以只剩31位。 因为有0,所以 -1 )
b)无符号类型 unsigned int--unsigned不允许省略
无符号类型的整型数据只能表示正整数,所有32位都用来表示数据。数据的取值范围是:0~2^32-1。
注:如果数值超出了取值范围,像unsigned int(无符号整型)的最大值为4294967295,如果存入的数值为4294967296,则输出结果为0;会出现循环的情况。像signed int(有符号整型,一般signed省略不写ÿ