定点c程序之一:定标

定点DSP把所有数据都当作整数来处理

ü在定点DSP芯片中,数字运算都是基于整形数的运算,也即所有操作数都用整形数表示。运算精度取决于整形数的字长,一般定点DSP的字长为16、24、或32。
ü定点数用2的补码表示,16比特定点数表示的数值范围-32768~32767
ü如1111111111111100b = -4
ü定点DSP如何处理小数/分数?
ü数的定标:设定小数点在16位整形数的适当位置,小数点前面部分表示数的整数部分;小数点后面部分表示小数部分
2010081900234820.jpg

当小数点处于不同位置时,所能表示的数字的范围不同,因此,要根据信号变量的取值范围来对数进行定标,选取合适的小数点位置。

数的定标有Q表示法和S表示法

2010081900245466.png

 

定点数的数值计算方法
0000010.001010000 = 21+2-3+2-5=2+0.125+0.03125=2.15625
1111010.100000000 = -0000101.011111111+1

    =-0000101.100000000=-5.5

定点数的范围和精度
不同的Q值表示的数字范围不同,Q值越大,表示的数的范围越小,同时精度越大;
反之,Q值越小,表示的数的范围越大,数的精度越小.
Q15的表示的范围是-1~0.9999695,精度为1/32768;
Q0表示的范围是-32768~32767,精度为1

定点数的精度和范围是一对矛盾,程序员应该准确估计变量的动态范围,然后进行适当的定标,使数字表示既不会溢出,又能达到最高的精度.

定点数和浮点数的转换
浮点数(x)转换为定点数(xq):xq=intx * 2Q
定点数(xq)转换为浮点数(x):x=floatxq * 2-Q

 

转载于:https://www.cnblogs.com/c6000/archive/2010/08/19/1802925.html

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值