绝代码农 发表于 2021-8-6 19:10:21

c-空杯学习-数据存储-10

1、数据类型:内置类型:char、short、int、float。。。;自定义类型:按需创建
2、类型的意义,决定了开辟内存空间的大小,以及如何看待内存空间的视角;
3、整型家族:char:unsigned/singed(在内存中存储的是ASCII值代表字符,本质上还是数字)、short:unsigned/singed、int:unsigned/singed、long:unsigned/singed。
4、浮点型家族:float、double;
5、构造类型:数组、结构体、枚举、联合类型;
6、指针类型: int *p;  char  *pc;   float  *pf;   void   *pv;
7、空类型:void,常常用于函数的返回类型、函数参数、指针类型;
8、对于整型数据,在内存中以补码形式保存;二进制转换为16进制,倒着存入;
9、大端,小端存储模式:     低位放低位(倒序):小端              低位放高位(顺序):大端
10、指针类型决定了解引用操作符能访问几个字节:char*p;访问一个字节;int*p;访问4个字节;
11、char:有符号 -128-->127;;   无符号:0-255;;
12、浮点型数据存储:将二级制写为科学计数法,(-1)^S* M * 2^E,   S表示符号位0为整数,1为负数;单精度高位第一位放置s的值;
E在取值时可能存在正负,所以需要加上中间值在进行存储,单精度的中间值时127,双精度的中间值为1023;E存在S后,单精度存储8位,双精度存储11位
M表示有效数字部分,2>M>=1,但是M在存储的时候只需要存储小数部分,这样可以节省一位有效数字;M的小数部分存储在E的后面,单精度存储23位,双精度存储52位
13、浮点型数据取出,符号位S直接取出;M取出计算需要加1;E在取出时,需要考虑是否存在全部为0或者全部为1的情况,E全为0,M直接取0.xxxx,表示无穷小、E全为1表示无穷大;


文档来源:51CTO技术博客https://blog.51cto.com/u_15243286/3297875
页: [1]
查看完整版本: c-空杯学习-数据存储-10