推荐星级:
  • 1
  • 2
  • 3
  • 4
  • 5

定点数运算精度的常见坑与规避办法

更新时间:2026-10-24 07:27:54 大小:40K 上传用户:江岚查看TA发布的资源 标签:定点数运算嵌入式精度浮点对比小数点定标精度规避 下载积分:2分 评价赚积分 (如何评价?) 打赏 收藏 评论(0) 举报

资料介绍

定点数运算精度的常见坑与规避办法 引言导语 写嵌入式的人大多有个共识:浮点运算又慢又费资源,定点数才是单片机上的正主。可定点数这东西,看着朴实,用起来却藏着不少坑。最典型的就是"算着算着,数值悄悄偏了",或者是"两个看似一样的数,乘起来精度就不够用了"。今天咱们就把它掰开揉碎聊一聊,看看定点数到底有哪些坑,又该怎么绕过去。 先说个比喻。定点数像一把带刻度的尺子,整数部分是刻度整数,小数部分靠你心里记住"每一格代表多少"。尺子本身是死的,但你怎么用它、刻度怎么定,全看你。用得好,精度刚刚好;用得糙,小数点一挪,量出来的数就离谱了。这就是定点数的本质:精度完全取决于你对"小数点位置"的掌控。 为了把问题讲透,下面用问答的形式,把定点数精度问题里最常见的坑一个个过一遍。很多坑我不是没见过,是踩过好几次才长记性。希望这篇能帮大家少交点学费。 一、对比背景 问:为什么我用的定点数,算出来的结果和浮点对不上? 答:这个问题几乎每个做定点的人都会问。根子在于定点数的精度是固定的,而浮点数是动态的。你在定点里用一个固定的位数去表示一个量,一旦这个量的动态范围超出你预留的位数,精度就崩了。打个比方,浮点像一台自动对焦的相机,定点像一台焦距锁死的相机,你只适合拍特定距离的物体。 对比背景这部分,我们先要看清两种做法的差异。方案 A 是"保守取位、全程不动"——从头到尾用一个固定的 Q 格式,比如 Q15,所有中间量都挤在同一个精度窗口里算。方案 B 是"分段调整、动态移位"——在计算过程中根据每一步的数值范围临时调整小数点位置,用移位来保住有效位。两条路各有利弊,下面分别说。 在往下走之前,还得交代清楚评测的基准:我们都用一组带噪声的物理量来测,比如 ADC 采集的电压值、经过积分滤波的角度量,数据本身有小数的叠加。

部分文件列表

文件名 大小
定点数运算精度的常见坑与规避办法.docx 40K

全部评论(0)

暂无评论

上传资源 上传优质资源有赏金

  • 打赏
  • 30日榜单

推荐下载