03_数据的机器级表示
1.信息的二进制编码
- 编码:用少量简单的基本符号对复杂多样的信息进行一定规律的组合
位的二进制编码至多表示 个不同的值
2.整数的二进制表示
原码、反码、移码在进行加法运算时都会造成不必要的硬件需求,因此目前计算机中普遍使用补码。
补码可以实现不同符号统一的加减运算,即可以用加法实现减法。
2.1补码表示
2.2补码的真值
2.3不同的整数编码
3.浮点数的二进制表示
- 浮点数:小数点的位置不固定
- 越大的数精度越低,但可表示数的范围比定点数大
- 可表示数的个数不变,k位浮点数可表示的数仍是
个(类比插旗,🚩总数不变)
3.1规格化数
- 尾数第一位总是1,因此可以隐藏。多表示一位增加了精度,但可表示的数不会增加。
- 尾数为原码,指数为移码
3.1.1规格化数的范围
3.1.2规格化数的变化
- 增加阶码(E)位数:扩大表示范围,降低表示精度
- 增加尾数(S)位数:提高表示精度,减少表示范围
- 采用更大的底(B):实现更大的范围,提高/降低表示精度
3.2非规格化数
- 处理规格化数下溢的情况
- 当结果的阶值太小时,通过右移进行非规格化;每次右移阶值增,直到阶值落在可表示范围内
3.3 IEEE 754标准
- 分为32位单精度和32位双精度
分类:
- 全0阶码全0尾数:
- 全0阶码非0尾数:非规格化数
- 单精度指数为-126,双精度指数为-1022
- 隐藏位为0
- 全1阶码全0尾数:
- 操作数为
时运算结果可能为NaN也可能为
- 操作数为
- 全1阶码非全0尾数:NaN
- 阶码非全0且非全1:规格化数且非0
4.二进制编码的十进制数表示
- 用4位二进制编码十进制(BCD)表示0,1,…,9。
- **问题**:4位二进制有16种可能,而0-9只有十个数。运算时如何处理进位问题。
- 标题: 03_数据的机器级表示
- 作者: Charlie
- 创建于 : 2023-01-12 18:53:00
- 更新于 : 2024-07-05 12:55:04
- 链接: https://chillcharlie357.github.io/posts/4480f5fc/
- 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。
评论