定点数编程
3 月,跳不动了?>>> 翻译自 Fixed Point Arithmetic on the ARM 介绍 定点算法原理 指数变化 加法和减法 乘法 除法 平方根 溢出 实例 信号处理 图像处理 总结 C 程序 使用汇编编程 翻译自 Fixed Point Arithmetic on the ARM 介绍 本应用笔记介绍了如何使用ARM C编译器和ARM或Thumb汇编器编写高效的定点算术代码。 由于ARM内核是一个整数处理器,因此必须使用整数算术模拟所有浮点操作。 使用定点算法而不是浮点数将大大提高许多算法的性能。 本文档包含以下部分: 定点运算原理:描述了定点运算所需的数学概念。 例子:给出了为信号处理和图形处理编写定点代码的例子,这是两种最常见的用途。 C编程:涵盖了在C中实现定点代码的实际细节。示例程序与一组宏定义一起给出。 汇编程序:介绍汇编程序示例。 定点算法原理 在计算算术中,可以使用一对整数(n,e)来近似表示分数:分别为尾数和指数。这对整数表示分数 n 2 − e n2−e 。指数 e 可以被认为是放置二进制小数点之前必须移动 n 的位数。比如 Mantissa (n) Exponent (e) Binary Decimal 01100100 -1 011001000. 200 01100100 0 01100100. 100 01100100 1 0110010