数据类型
- 数据类型是什么
- 数据类型的实质
- 数据类型的输出
- 何种情况使用何种类型
数据类型是什么
见过的数据类型有很多,就拿常见的几个举例。
数据类型 | 意义 |
---|---|
char | 字符型 |
int | 有符号整型 |
short | 有符号整型 |
long | 有符号整型 |
unsigned int | 无符号整型 |
字符型就是将字符转换为ASCII存放到char型的变量中。
数据类型的实质
数据类型 | 意义 | 位数 |
---|---|---|
char | 字符型 | 8bit |
int | 有符号整型 | 16/32bit |
short | 有符号整型 | 16bit |
long | 有符号整型 | 32bit |
unsigned int | 无符号整型 | 8bit |
那么在实际当中无论我们定义的是什么类型的数据,其实都是按照某种规则转换成了对应位数的值存在变量当中。只不过是位数不一样,可以存储的数值大小的范围就不同。
例如 char型的变量实际上就是ASCII表中对应的字符所对应的ASCII码。由于ASCII码没有超过8位,所以存放char型足可。
数据类型的输出
输出符 | 表示 | 实际意义 |
---|---|---|
%c | 字符输出 | 表示以ASCII对待,而无论是何种变量只取低位8bit |
%d | 整数输出 | 表示以整数对待 |
何种情况使用何种类型
无论在使用哪种类型的时候主要看位数是否符合你的要求,因为就算是char型,表面上存放的是字符,实际上存放的也是数值,char型实际上就是整型的一种。
如:char num=0x3B; char a=’a’;
char 8bit 实际上就是有符号整型
存放的就是字符对应的ASCII码值
%c输出为字符 %d输出为数值
(%c表示以ASCII对待,而无论是何种变量只取低位8bit %d表示以整数对待)
int 16bit/32bit 有符号整型
short 16bit 有符号整型
long 32bit 有符号整型
unsigned int 无符号整型