zoukankan      html  css  js  c++  java
  • 浮点数定点化

      FPGA只能处理定点数,Alteral stratix 10可以支持硬浮点,如军方雷达、机器视觉等硬件加速。  

      浮点数:2.918 3.1415986
      浮点转定点:(如16位,表示范围32767~-32768)
          定义小数需求多少位(如12位)
          整数需求多少位(如3位)
          最高位为符号位(针对有符号数,1位)
      对于低15位,整数最大表示7,小数最大精度1/(2^12)=0.000244140625,小数最大能表示(1/(2^12))4095=0.999755859375
      即使用15位二进制数(最大32767)表示浮点小数(最大7.999755859375)
      如对2.918定点化的过程:
        量化精度:(8/32768)
        量化结果:2.918/(8/32768)=11952.128~=11952
        定点化会产生量化误差。
      如对3.1415926定点化过程;
        3.1415926/(8/32768)=12867.9632896~=12868

        浮点数运算:2.918*3.1415926=9.1671672068
        11952x12868=153798336
        153798336=(0)_(00_1001)_(0010_1010_1100_0110_1100_0000)
        符号位1位,表示正数,
        整数6位,表示十进制数为9,
        小数24位,为(0010_1010_1100_0110_1100_0000)b=(2803392)d,
        2803392/(2^24)=0.167095184326171875
        所以153798336转换为浮点数为9.167095184326171875
        与原浮点数结果有误差。
    综上:
        第一步:规定位宽
            整数位宽:能够表示整数部分的最少bit数。
            小数位宽:能够满足最大小数精度的bit数,如小数位宽为N,则能表示的小数精度为1/(2^N)
        第二步:确定最大值与最小值
        第三步:定点化处理

  • 相关阅读:
    [转载]Oracle中TO_DATE()函数用法
    validationEngine
    批处理执行sql语句 osql
    asp.net导出excel
    Oracle nls_sort和nlssort 排序功能介绍
    js中2个等号与3个等号的区别
    【36】第零章 起航
    那些年,我还在学习Ajax
    那些年,我还在学习java
    那些年,我还在学习jquery
  • 原文地址:https://www.cnblogs.com/MAQI/p/7489029.html
Copyright © 2011-2022 走看看