前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >一道简单的笔试题_浮点数无损定点化

一道简单的笔试题_浮点数无损定点化

作者头像
数字芯片社区
发布2020-08-18 10:46:07
1.3K0
发布2020-08-18 10:46:07
举报
文章被收录于专栏:数字芯片
浮点数无损定点化

量化为定点数格式:m位定点数,n个小数位,无符号位,那么n称作量化系数

对于0111表示的定点数:

如果设定小数点位于最后一位,即0111. 则其表示7,最大精度1;

如果设定小数点位于后一位的,即011.1 则其表示3.5,最大精度0.5;

如果设定小数点位于后二位的,即01.11 则其表示1.75,最大精度0.25;

由上可得:

  • 小数位数越多,表示的精度越高。若小数点后有n位,则其表示的最大精度为1/(2^n)
  • 整数位数越多,可表示的最大值越大。

某疆笔试题

对12.918做无损定点化,首先需要确定对整数部分的量化位数。整数为12,无损量化4bit;小数部分为0.918,假如采用12bit位宽,整数部分4bit,那么小数部分只有8bit。

其实,无论有多少小数位,2进制编码的精度都是以5结尾的,因此2进制编码并不能完全无损的表示任意小数,但是根据数学上误差的概念只要误差小于精度的一半,就可以认为是“无损”的了。

如果小数位用8位表示,0.918*2^8=235.008取整,舍弃0.008,235即为对0.918做8bit量化后的整数值。

对235进行反量化:235/2^8=0.91796875,得到量化误差0.918-0.91796875=0.00003125,而精度为1/(2^8)=0.00390625, 量化误差小于精度的一半,满足“无损条件”。

如果小数位用7位表示,0.918*2^7=117.504取整,舍弃0.504, 117即为对0.918做7bit量化后的整数值。

对117进行反量化:117/2^7=0.9140625,得到量化误差0.918-0.9140625=0.0039375,而精度为1/(2^7)=0.0078125, 量化误差大于精度的一半,无法无损量化。

故答案选择 D

下面某疆题

同理:答案选择 A

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-08-14,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 数字ICer 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档