请问对12.918做无损定点化,最小位宽是多少?

2019-07-15 20:52发布

前些天做了大疆的笔试题,有一个问题是     对12.918做无损定点化,最小位宽是多少?


在网上看了别人的解答,但是感觉都不太对,比如下面这种。

以12位,能表示的最小精度为 1/(2^12),
12.918/(1/(2^12)) = 12.918*(2^12) ,结果不是整数,所以不能无损定点化。

但是照这么看的话,无论多少位,都不能对这个数无损定点化吧?

所以我有什么理解错了吗?

3条回答
郑大海
1楼 · 2019-07-16 01:15.采纳回答

如果是十进制的话,对12.918进行无损量化,要保留小数点后四位,就是比0.001多一位,同样,二进制的2^-8是0.00390625,它是0.008的1/2,也就是说在二进制中它能精确到0.008的后一位,也就是可以做到无损量化了。我是这么理解的。



补充内容 (2018-8-2 09:38):


应该说0.00390625比0.008的二分之一还要小 


reallmy
2楼-- · 2019-07-16 05:04
12.918
3位整数位宽最大只能表示7 所以整数12需要4位位宽
小数部分0.918 判断:0.918/0.000244140625 = 3760.128 所以12位小数位能表示0.918
哈哈,网上抄的,你可以这么理解,小数点前面的整数用4bit表示,权重2^3、2^2、2^1、2^0,小数点后面的权重是2^(-1)、2^(-2)以此列推,后面的8bit应该可以加出来0.918.。。。。。
郑大海
3楼-- · 2019-07-16 07:31
12位,整数部分需要四位,小数部分需要8位,好巧,之前笔试这个题也遇到了。

一周热门 更多>