定点c程序之五:定点数的字长效应

由于定点数的字长效应,其数值表示的动态范围较小,在运算过程中需要进行:
饱和处理(Saturation)
当运算(如累加、乘法等)超出最大、最小范围时,将超出最大值的数置为最大能表示的数值(如MAX16、MAX32等);将小于最小值的数表示为最小能表示的数值(如MIN16、MIN32等)。

在累加和乘运算中,结果往往会超出原操作数的字长。例如,两个16位的数相乘得到的是32位的乘积,而结果保存只希望高16比特被存储,即将累加器中的高16比特数存储到普通存储单元,这时,需要对低位比特进行处理:

截尾处理
直接丢弃低16比特。简单,但误差较大;
四舍五入处理(Rounding)
X+0.5,然后做截尾处理
归一化处理
  通常对定标浮点数每做一次变化都要重新进行归一化,归一化是为了使其尾数的绝对值在16384~32767之间,从而保证最大的精度。有的DSP处理器提供归一化的指令,能在单指令周期内完成累加器中数值的归一化,一般是norm指令。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值