当前位置:   article > 正文

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

数的定点表示和浮点表示例题

51ff9c8f8ba5113a47322627247acd0a.png

浮点数无损定点化

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

对于0111表示的定点数:

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

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

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

由上可得:

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

  • 整数位数越多,可表示的最大值越大。

某疆笔试题

9f0475cd6ee40fc8d06df6519ff18a3e.png

对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

下面某疆题

0d45959eb9673f3a37b8b2e9d206de6d.png

同理:答案选择 A

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/从前慢现在也慢/article/detail/389049
推荐阅读
相关标签
  

闽ICP备14008679号