浮点数与定点数相互转换(仅考虑正数情况)

1. 浮点数转换为定点数

定点数总位宽设为 W ,小数部分字长设为 F

那么,考虑一个浮点数 a ,将其转换为定点数的操作为:

  • 一: 计算b = a \times 2^{F}

  • 二: 将 b 化为整数 \ ^{*}

  • 三: 用二进制将 b 表示成 c;

  • 四: 用 N 位二进制数表示 c 成 c = (N-W-1)QF 或者c = \text{fix}(1,N,F) \ \ ^{**}

    []^*可以是去尾法,四舍五入法,向下取整法等保留整数部分

    []^{**}N \ge W,其中,当 N > W 时,高位的 N-W 位用零补齐,注意符号位;低 F 位位小数位;表示方法为定点数典型表示法:XQN表示法fix()表示法

\text{Step1: } b = a \times2^F \\ \text{Step2: } b = \text{round}(b) \\ \text{Step3: } c = \text{dec2bin}(b) \\ \text{Step3: } c = (N-W-1)QF \ \text{or} \ c=\text{fix}(0,N,F)

2. 定点数转换为浮点数

已知一位宽为 N ,小数字长为 F 的二进制小数,那么其所指代的浮点数 a 为:

a= \text{bin2dec}(N)/2^F

学习参考链接:

  1. FPGA的算法解析3:定点数与浮点数 - 知乎 (zhihu.com)

  2. 浮点数和定点数的相互转换(浮点数量化为定点)_定点转浮点-CSDN博客

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值