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

    1、定点数定义

    定点数是指小数点固定的隐含在某一位置上的一类数据

    有符号数:

    以四位有符号数1111为例,其数值大小为:1x(-2^(0))(4+2+1)= -7。

    2、补码

    正整数的补码:与原码相同。

    负整数的补码:将其原码除符号位外的所有位取反,之后加1。

    3、定点纯小数

    定点纯小数是指整数部分为0的定点小数,分为有符号定点纯小数和无符号定点纯小数,S为符号位,小数点在小数位的最左侧。

    对于字长为wf的无符号定点小数,其数值可表示为:

    Bi表示对应的位为1,以四位无符号定点纯小数1001为例:

    其值为value=b0 x 2^(0-4) +b3 x 2^(3-4) =0.0625+0.5=0.5625

    对于字长为wf+1的有符号定点纯小数,其数值表示为:

    同样以1001为例,字长为4,wf=3,符号位为1,尾数位001,其值表示为:

    value= (-1)^(1) + 2^(0-3) =-1+0.125 = -0.875

    4、定点带小数

    即整数部分不为0的小数,分为有符号定点带小数额无符号定点带小数,S为符号位,定点数位宽为w,小数位位宽为wf:

    对于无符号定点带小数,正常计算即可,其计算公式为:

    对于有符号定点带小数,其计算公式为:

    5、定点数据的上溢和下溢

    上溢(overflow):运算结果超出了定点数的整数部分所能表示的范围,

    下溢(underflow):运算结果小数部分超出了小数部分能表示的范围。

    UFIX_4_2,表示无符号型定点小数,全长为4,小数部分宽度为2,所能表示的范围为:[0,3.75],精度为0.25,如果运算结果为4,即发生上溢,如果运算结果为0.125,则发生下溢。

    6、浮点数和定点数的比较

    与定点数相比,采用浮点数进行算法描述:

    (1)、具有更宽的动态范围。

    (2)、可缩短复杂运算的开发周期。

    (3)、统一的标准数据格式。

    劣势:

    (1)、浮点运算会消耗更多的查找表、寄存器和乘法器。

    (2)、浮点运算会给布线资源带来压力,导致最大运行频率降低。

    通常在算法建模时采用浮点数,而在FPGA实现时采用定点数。

  • 相关阅读:
    EventBus (四) Sticky事件
    EventBus (三) 源码解析 带你深入理解EventBus
    EventBus (二) 使用详解——EventBus使用进阶
    EventBus (一) 使用详解——初步使用EventBus
    Android布局优化之ViewStub、include、merge使用与源码分析
    Android API 中文(14) —— ViewStub
    ViewStub用法
    FaceBook推出的Android图片加载库-Fresco
    WinForm打印之页边距
    带参数的多线程的方式
  • 原文地址:https://www.cnblogs.com/luxinshuo/p/13554062.html
Copyright © 2011-2022 走看看