目录
补充:debug版本和release版本的区别
1. 数据类型的介绍
1.1 类型的基本归类:
整型:
浮点型:
构造类型:
指针类型
空类型:
2 数据在内存中的存储
2.1 原码、反码、补码
我们发现对于数据-10,在内存中的存储形式居然是f6 ff ff ff,我们不妨写一下它的原码、反码、补码:
2.2 大端存储和小端存储
第一种方法:利用强制类型转换
具体代码如下:
测试结果:
与我们前面结论说VS2019是小端存储结果是一致的。
第二种方法:利用联合体(联合的成员是共用同一块内存空间)
具体代码如下:
解析:
测试结果:
与我们前面结论说VS2019是小端存储结果是一致的。
3. 数据的整型提升
4.浮点型在内存中的存储
4.1 浮点数存储的规则
首先我们先给出浮点型数据的存储形式,在一起解决上面我们给出的两个疑问:
4.2 IEEE 754规定:
对于32位的浮点数:最高的1位是符号位s,接着的8位是指数E,剩下的23位位有效数字M
对于64位的浮点数:最高的1位是符号位s,接着的11位是指数E,剩下的52位位有效数字M
4.3 IEEE 754对有效数字M的特别规定
4.4 IEEE 754对于指数E的特别规定
4.4.1 指数E从内存中取出还可以再分成三种情况:
1、E不全为0或不全为1
2、E全为0
3、E全为1
5.例题赏析:
不妨先自己动手算一算:
打印验证,与我们分析的结果是一致的: