Cortex-M33处理器中的浮点单元(FPU)详解
1. 浮点数据概述
在C编程中,数值可以被定义为浮点数据。例如,圆周率π可以被声明为单精度浮点数:
float pi = 3.141592F;
或者双精度浮点数:
double pi = 3.1415926535897932384626433832795;
浮点数据使处理器能够处理比整数或定点数据更广泛的数据范围,以及非常小的值。此外,还有半精度浮点数据格式,它占用16位。不过,一些C编译器不支持半精度浮点格式。在gcc和Arm® C编译器中,半精度浮点值使用 __fp16 数据类型声明(注意:需要额外的命令选项)。
1.1 单精度浮点数
单精度数据格式具有特定的表示规则。在大多数情况下,指数的值范围是1 - 254,单精度值由特定方程表示。要将一个值转换为单精度浮点数,需要将其归一化到1.0和2.0之间。以下是一些浮点值的示例:
| 浮点值 | 符号 | 指数 | 二进制形式的小数部分 | 十六进制值 |
| — | — | — | — | — |
| 1.0 | 0 | 127 (0x7F) | 000_0000_0000_0000_0000_0000 | 0x3F800000 |
| 1.5 | 0 | 127 (0x7F) | 100_0000_0000_0000_0000_0000 | 0x3FC00000 |
| 1.75 |
超级会员免费看
订阅专栏 解锁全文
61

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



