一,内存
1,内存的最小单位是“位”(bit),但编址的最小单位为“字节”(Byte)。
2,逻辑上的存储可以是多维的,例如多维数组,但实际的存储都是线性的、一维的。
二,补码
1,规则
注:其运算规则是可逆的。
- 0的补码为0
- 符号位同普通位一并参与运算
- 补码可以使加减乘除全部变加法
2,char(8位)补码的展示
3,数据类型
1,整型
char
short
int
long long
2,浮点型
float
double
long double
3,构造类型
数组
结构体 struct
共用体 union
枚举类型 enum
指针类型 *
4,空类型 void
4,类型的意义
数据类型提供了“申请内存单元大小”和“访问内存单元”的规则。数据类型是假设在线性内存上的一种逻辑关系!
5,类型转化
- 小转大:符号扩充
小范围空间数据,赋给大范围空间的数据,系统为了保证数据的完整性,采用“符号扩充”的机制——若小范围空间数据为有符号类型,则扩充符号位;若小范围数据为无符号类型,则扩充0。
2,大转小:截断(Truncate)
大范围数据转化为小范围数据,会发生“截断”,截断过程可能会发生数据丢失。