没有合适的资源?快使用搜索试试~ 我知道了~
首页DSP基础--定点小数运算.docx
资源详情
资源评论
资源推荐

[DSP
开发 ] | 2005-04-11 21:20:44 |RY
DSP
基础 -- 定点小数运算
许多 DSP 芯片只支持整数运算,如果现在这些芯片上进行小数运算的话,定点
小数运算应该是最佳选择了,此外即使芯片支持浮点数,定点小数运算也是最
佳的速度选择。
在 DSP 世界中,由于 DSP 芯片的限制,经常使用定点小数运算。所谓定点小数,
实际上就是用整数来进行小数运算。下面先介绍定点小数的一些理论知识,然
后以 C 语言为例,介绍一下定点小数运算的方法。在 TI C5000 DSP 系列中使
用 16 比特为最小的储存单位,所以我们就用 16 比特的整数来进行定点小数运
算。
先从整数开始,16 比特的储存单位最多可以表示 0x0000 到 0x,65536
种状态,如果它表示 C 语言中的无符号整数的话,就是从 0 到65535。如果
需要表示负数的话,那么最高位就是符号位,而剩下的 15 位可以表示 32768
种状态。这里可以看出,对于计算机或者 DSP 芯片来说,符号并没有什么特
殊的储存方式,其实是和数字一起储存的。为了使得无论是无符号数还是符号
数,都可以使用同样的加法减法规则,符号数中的负数用正数的补码表示。
我们都知道-1 + 1 =0,而 0x0001 表示 1,那么-1 用什么来表示才能使得-1
+ 1 =0 呢?答案很简单:0x。现在就可以打开 Windows 的计算器,用
16 进制计算一下 0x+0x0001,结果是 0x10000。那么0x10000 和
0x0000 等价麽,我们刚才说过用 16 比特来表达整数,最高位的 1 是第 17 位,















安全验证
文档复制为VIP权益,开通VIP直接复制

评论2