ARM处理器浮点标准与内存访问全解析
1. IEEE 754浮点标准
在20世纪70年代末之前,不同计算机制造商以不同的二进制形式表示实数(带小数点的数字),这使得许多程序在不同机器上不兼容。1980年,IEEE委员会对实数的浮点数据表示进行了标准化。该标准由英特尔基于8087数学协处理器做出了重要贡献,它考虑到不同应用对精度的不同需求,因此确立了单精度和双精度。
1.1 IEEE 754单精度浮点数
IEEE单精度浮点数使用32位数据来表示任何实数,范围从2^-128到2^-126,包括正数和负数。这大约相当于十进制数的1.2 × 10^-38到3.4 × 10^+38。在一些数学协处理器术语中,这些32位单精度浮点数被称为短实数。
将实数转换为单精度浮点数的步骤如下:
1. 将实数转换为二进制形式。
2. 将二进制数表示为科学形式:1.xxxx E yyyy。
3. 第31位为0表示正数,为1表示负数。
4. 将指数部分yyyy加上0x7F(十进制127)得到偏置指数,放在第23到30位。
5. 将有效数字xxxx放在第22到0位。
以下是几个转换示例:
- 示例5 - 17 :将9.75转换为单精度浮点数。
- 十进制9.75 = 二进制1001.11 = 科学二进制1.00111 E 3
- 符号位31为0(正数)。
- 偏置后的指数位(30 - 23)为1000 0010(3 + 7F = 82H)。
- 有效数字位(22 - 0)为001110000000000000000 …00。
超级会员免费看
订阅专栏 解锁全文
2020

被折叠的 条评论
为什么被折叠?



