32位定点数和32/64位浮点数的二进制生成方法

问题由来

定点数和浮点数在嵌入式软件处理和FPGA算法方面使用比较普遍,但是遇到FPGA实现32位定点数的处理,想要仿真时,突然发现全网都在讲浮点数和定点数的格式和理论,几乎没有生成的快捷方法,好在一片文章出现了一点有用的信息,记录下来。
原文连接:
https://www.elecfans.com/d/2220416.html

matlab处理

小数转化为定点数

在FPGA 设计开发的过程中,如果需要使用小数参与相关运算,这个时候就需要将小数转化为定点数,因为FPGA内部只能处理定点数,不能处理小数,小数转定点数的过程需要考虑符号位-整数位宽-小数位位宽。

假设将小数2.918量化为16bit的定点数,包含1bit符号位,3bit整数位,12bit小数位。

3bit整数位能够表示的最大整数是7(3’b111),12位小数位能够表示的数据的最小精度为:1/(2^12)=0.00024414,也就是说12位小数位只能表示0.00024414的整数倍,12位小数位能够表达的最大小数为:

>> (2^12-1)*0.00024414
ans =
    0.9998

可以发现表示小数的位数越多ÿ

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值