(大疆2020芯片开发工程师A卷)【数据无损量化问题】【定点数】
对12.918做无损定点化,需要的最小位宽是多少位,位宽选择11位时的量化误差是多少?
答案:C,12位,误差0.0039
解析:
12.918,定点量化时对整数部分和小数部分分别量化。
(1)整数部分 12,最少使用 4 位量化,4-bit 表示范围 0 ~ 15;
(2)小数部分 0.918,假设 12.918 整体使用 12 位量化,整数已使用 4-bit,则小数部分还能使用 8-bit 量化,能够表示 2 的 8 次方共计 256 个刻度,每个刻度的间隔是 1/256 = 0.00390625,这个值也就是量化精度。
小数 0.918 需要多少个刻度来表示呢?
0.918/(1/256) = 0.918*256 = 235.008,四舍五入取整,则使用 235 个刻度来表示,误差是 0.008 个刻度,误差大小是 0.008*(1/256) = 0.00003125。
量化误差小于量化精度的一半,认为是“无损量化”。由于量化后误差0.00003125 肯定是小于精度 0.00390625 的一半,所以这个误差小到可以认为是无损量化。
当使用 11 位量化时,同理:
(1)整数部分 12,最少仍需要 4 位量化,4-bit 表示范围 0 ~ 15;
(2)小数部分 0.918,只能使用剩下的 7-bit 量化,能够表示 2 的 7 次方共计 128 个刻度,每个刻度的间隔是 1/128。
小数 0.918 需要多少个刻度来表示呢?
0.918/(1/128) = 0.918*128 = 117.504,四舍五入取整,则使用 118 个刻度来表示,误差是 -0.496 个刻度,误差大小是 -0.496*(1/128) = -0.003875,保留四位小数并取正数,0.0039。