与afreez 一起学习DSP 中浮点转定点运算 一:浮点与定点概述 1
1 相关定义说明 定点数:通俗的说,小数点固定的数
以人民币为例,我们日常经常说到的如 123
45¥,789
34¥等等,默认的情况下,小数点后面有两位小数,即角,分
如果小数点在最高有效位的前面,则这样的数称为纯小数的定点数,如 0
12345,0
78934 等
如果小数点在最低有效位的后面,则这样的数称为纯整数的定点数,如 12345,78934 等
浮点数:一般说来,小数点不固定的数
比较容易的理解方式是,考虑以下我们日常见到的科学记数法,拿我们上面的数字举例,如 123
45,可以写成以下几种形式: 12
345x 101 1
2345 x 102 0
12345 x 103x i „„ 为了表示一个数,小数点的位置可以变化,即小数点不固定
2 定点数与浮点数的对比 为了简单的把问题描述清楚,这里都是十进制数字举例,详细的分析,大家可以在后面的文章中看到
(1 ) 表示的精度与范围不同 例如,我们用 4 个十进制数来表达一个数字
对于定点数(这里以定点整数为例),我们表示区间[0000,9999]中的任何一个数字,但是如果我们要想表示类似 1234
3 的数值就无能为力了,因为此时的表示精度为 1/100=1;如果采用浮点数来表示(以归整的科学记数法,即小数点前有一位有效位,为例),则可以表示[0
999]之间的任何一个数字,表示的精度为 1/103=0
001,精度比上一种方式提高了很多,但是表示的范围却小了很多
也就是说,一般的,定点数表示的精度较低,但表示的数值范围较大;而浮点数恰恰相反
(2 ) 计算机中运算的效率不同 一般说来,定点数的运算在计算机中实现起来比较简单,效率较高;而浮点数的运算在计算机中实现起来比较复杂,效率相对较低
(3 ) 硬件依赖性