一、浮点数的定点化
浮点数举例:3.125 31.25 312.5类似于这些数字,小数点的位置是浮动,我们称为浮点数。
二、为什么需要将浮点数转换为定点数
提高运算速度;降低功耗。加速器应用等。
三、浮点数转换为定点数的方法
需要定义定点数的小数位占多少位,整数位占多少位。
举例:假设整数位3位,小数位12位,符号位1位。
16位定点数最大数为0111 1111 1111 1111 ,十进制为+32767。
16位定点数最小数为1000 0000 0000 0000 ,十进制为-32768。(为啥是这么多,需要研究数据在计算机内部是如何存储的 ?)
整数位3位,最大表示7;小数位12位,12位小数位每一份表示的值1/4096(量化)。为什么是4096而不是4095,因为数据是从0递增到1111 1111 1111 1111(4095)一共4096个数。1111 1111 1111 1111表示的最大数为4095,4095*1/4096=0.999755859375,表示把1量化为4096分,每一份是1/4096,4095分表示的最大数字是0.999755859375。可见这种量化是有误差存在的。文章来源:https://www.toymoban.com/news/detail-732614.html
3.125表示为定点数是多少呢?
分析:3位整数表示的最大数是7,小数点表示的最大数据近似于1,7+1=8。也就是说使用15位(整数位3位,小数位12位)表示8这个数。把8这个数,用2^15 进行量化,
每一份是8/(2^15)=文章来源地址https://www.toymoban.com/news/detail-732614.html
到了这里,关于FPGA浮点数转换为定点数处理方法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!