标题1.数据的基本类型:
1)char //字符数据类型
2)short //短整型
3)int //整形
4)long//长整形
5)float //单精度浮点数
6)double //双精度浮点数
1.整形:
char
unsigned char
signed char
short
unsigned short[int]
signed short[int]
int
unsigned int
signed int
long
unsigned long[int]
signed long[int]
1.2整形在内存中的存储
1.2.1原码,反码和补码
计算机中的整数有三种表示方法:原码,反码和补码。
均有符号位和数值位
符号位‘0’表示正,‘1’表示负。
正整数的原码,反码,补码都相同
而负整数的三种表现方法各不相同:
原码
直接将二进制按照正负数的形式翻译成二进制即可
反码
原码的符号位不变,其他位次依次按位取反即可
补码
反码+1即得到补码
对于整形来说:数据存放内存中其实存放的是补码。
1.2.2大小端介绍
大端(存储)模式:是指数据的高位存放在内存的高地址中,而数据的低位存放在内存的低地址中
小端(存储)模式:是指数据的高位存放在内存的低地址中,而数据的高位存放在内存的低地址中
2.浮点型
2.1 常见的浮点数:
3.14159
1E10
浮点数家族:float double long double
浮点数表示的范围:float.h
2.2浮点数存储规则
根据国际标准IEEE754,任意一个二进制浮点数V可以表示成如下形式
- (-1)^S*M*2^E
- (-1)^S表示符号位,当s=0,V为正数;当s=1,V为负数。
- M表示有效数字,大于等于1,小于2 即1<=M<2。
- 2^E表示指数位。
eg:十进制的5.0,写成二进制是101.0,相当于1.01*2^2。按照上方V的格式,可以得出s=0,M=1.01,E=2。
十进制的-5.0,写成二进制是-101.0,相当于-1.01*2^2。那么s=1,M=1.01,E=2。