电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

浮点转定点运算VIP免费

浮点转定点运算_第1页
1/7
浮点转定点运算_第2页
2/7
浮点转定点运算_第3页
3/7
浮点转定点运算 一 DSP定点算数运算 1 数的定标 在定点 DSP 芯片中,采用定点数进行数值运算,其操作数一般采用整型数来表示。一个整型数的最大表示范围取决于 DSP 芯片所给定的字长,一般为 16 位或 24 位。显然,字长越长,所能表示的数的范围越大,精度也越高。如无特别说明,本书均以 16 位字长为例。 DSP 芯片的数以 2 的补码形式表示。每个 16 位数用一个符号位来表示数的正负,0 表示数值为正,l则表示数值为负。其余 15 位表示数值的大小。因此, 二进制数 0010000000000011b=8195 二进制数 1111111111111100b= -4 对 DSP 芯片而言,参与数值运算的数就是 16 位的整型数。但在许多情况下,数学运算过程中的数不一定都是整数。那么,DSP 芯片是如何处理小数的呢?应该说,DSP 芯片本身无能为力。那么是不是说 DSP 芯片就不能处理各种小数呢?当然不是。这其中的关键就是由程序员来确定一个数的小数点处于 16 位中的哪一位。这就是数的定标。 通过设定小数点在 16 位数中的不同位置,就可以表示不同大小和不同精度的小数了。数的定标有 Q 表示法和 S 表示法两种。表 1.1 列出了一个 16 位数的 16 种 Q 表示、S 表示及它们所能表示的十进制数值范围。 从表 1.1 可以看出,同样一个 16 位数,若小数点设定的位置不同,它所表示的数也就不同。例如, 16 进制数 2000H=8192,用 Q0 表示 16 进制数 2000H=0.25,用 Q15 表示 但对于 DSP 芯片来说,处理方法是完全相同的。 从表 1.1 还可以看出,不同的 Q 所表示的数不仅范围不同,而且精度也不相同。Q 越大,数值范围越小,但精度越高;相反,Q 越小,数值范围越大,但精度就越低。例如,Q0 的数值范围是-32768 到 +32767, 其 精 度 为 1, 而Q15的 数 值 范 围 为 -1到 0.9999695, 精 度 为1/32768=0.00003051。因此,对定点数而言,数值范围与精度是一对矛盾,一个变量要想能够表示比较大的数值范围,必须以牺牲精度为代价;而想精度提高,则数的表示范围就相应地减小。在实际的定点算法中,为了达到最佳的性能,必须充分考虑到这一点。 浮点数与定点数的转换关系可表示为: 浮点数(x)转换为定点数(xq):xq=(int)x* 2Q 定点数(xq)转换为浮点数(x):x=(float)xq*2-Q 例如,浮点数 x=0.5,定标 Q=15,则定点数 xq=L0.5*32768J=16384,式中 LJ 表示下取整。反之,一个用 Q=15 表示的定点数 16384,其浮点数为 16384 *2^-1...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

浮点转定点运算

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部