FPGA中浮点数与定点数的转化原理与转化方法

基础知识

浮点数与定点数概念

浮点数:小数点是浮动的,不是在一个固定的位置上的 定点数:小数点的位置是固定的 在FPGA内部只能处理定点数无法处理浮点数 当浮点数转换成定点数的时候要明确的知道小数有多少位,整数有多少位

浮点数转换为定点数

无损量化:量化误差小于量化精度的一半

位数:3位整数位宽,12位的小数位宽,最高位的符号位1位。则这个就是16位的

对于16位的符号数:最大可以表示2的15次方=32767,最小值为-32768

量化精度:小数12位精度为1/(2的12次方)= 0.000244140625

量化误差:以2.918,12位小数定点量化

 2.918/0.000244140625=11952.128~=11952(小数部分进行四舍五入)量化误差为(11952.128-11952)×0.000244140625=0.00003125即2.918-11952×0.000244140625=0.00003125这个就叫做量化的误差

举例

大疆2020芯片开发工程师A卷)

对12.918做无损定点化,需要的最小位宽是多少位,位宽选择11位时的量化误差是多少?

A. 12位,0.0118

B. 13位,0.0039

C. 12位,0.0039

D. 13位,0.0118

答案:C,12位,误差0.0039

12.918,定点量化时对整数部分和小数部分分别量化。

(1)整数部分12,最少使用4位量化,4-bit表示范围0~15;

(2)小数部分0.918

第一问:

假设12.918使用12位量化,整数已使用4bit,则小数部分还能使用8bit量化

量化精度:1/(2的8次方)=0.00390625

量化误差:0.918/(2的8次方)= 235.008~=235(四舍五入)

0.008×(2的8次方)= 0.00003125

量化误差小于量化精度的一半,认为是“无损量化”。

第二问:

量化精度:1/(2的7次方)=0.0078125

量化误差:0.918/(2的7次方)=117.504~=118(四舍五入)

(117.504-118)×(2的7次方)= -0.003875保留四位小数并取正数,0.0039

所以选C

  • 9
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值