1、数据类型
1、数据类型分类

2、各种基本类型数据的取值范围
在32位机中,各种数据类型的字节数和取值范围:
|
基本数据类型 |
数据类型 |
标识符 |
比特数 |
取值范围 |
|
字符型 |
有符号字符 |
char |
8 |
-128~127 |
|
无符号字符 |
unsigned char |
8 |
0~255 |
|
|
整形 |
用符号短整型 |
short (int ) |
16 |
0~65536 |
|
无符号短整型 |
unsigned short (int) |
16 |
-32768~32767 |
|
|
有符号整形 |
Int |
32 |
-2147483648~2147483647 |
|
|
无符号整形 |
unsigned int |
32 |
0~4294967295 |
|
|
有符号长整形 |
long (int) |
32 |
2147483648~2147483647 |
|
|
无符号长整形 |
unsigned long(int) |
32 |
0~4294967295 |
|
|
浮点型 |
单精度浮点数 |
float |
32 |
-3.4*10^-38~3.4*10^38 |
|
双精度浮点数 |
double |
64 |
-1.7*10^-308~1.7*10^308 |
|
|
长双精度浮点数 |
long double |
64 |
-1.2*10^-308~1.*10^308 |
3、强制数据类型的转换
强制数据类型的转换是指采用某种方式将某种数据类型强制转换成指定的数据类型。包括显式的数据类型转换,和隐式的数据类型转换。
例如: int a=22, b=0 ; float c = 24.87, d= 3.3; b = (int) (a + c +d) ; // b为50
如果定义的是整数类型,赋的值是小数的话,只保存整数位。即:整数/整数=整数 整数%整数=整数
变量在进行存储时,都是先转换成补码再存储。即:正数:补码=原码 负数:补码=反码+1
强制类型转换的特点:
强制类型转换符后面的表达式如过存在复杂运算,就一定要用小括号括起来;
强制类型转换符是一种不安全的转换,一般都是将高级类型转换成低级类型,要丢失数据的精度;
强制类型转换并不改变表达式中变量的数据类型和其值;
4、自动类型转换规则


浙公网安备 33010602011771号