zoukankan      html  css  js  c++  java
  • 定点c程序之一:定标

    定点DSP把所有数据都当作整数来处理

    ü在定点DSP芯片中,数字运算都是基于整形数的运算,也即所有操作数都用整形数表示。运算精度取决于整形数的字长,一般定点DSP的字长为16、24、或32。
    ü定点数用2的补码表示,16比特定点数表示的数值范围-32768~32767
    ü如1111111111111100b = -4
    ü定点DSP如何处理小数/分数?
    ü数的定标:设定小数点在16位整形数的适当位置,小数点前面部分表示数的整数部分;小数点后面部分表示小数部分

    当小数点处于不同位置时,所能表示的数字的范围不同,因此,要根据信号变量的取值范围来对数进行定标,选取合适的小数点位置。

    数的定标有Q表示法和S表示法

    定点数的数值计算方法
    0000010.001010000 = 21+2-3+2-5=2+0.125+0.03125=2.15625
    1111010.100000000 = -0000101.011111111+1

        =-0000101.100000000=-5.5

    定点数的范围和精度
    不同的Q值表示的数字范围不同,Q值越大,表示的数的范围越小,同时精度越大;
    反之,Q值越小,表示的数的范围越大,数的精度越小.
    Q15的表示的范围是-1~0.9999695,精度为1/32768;
    Q0表示的范围是-32768~32767,精度为1

    定点数的精度和范围是一对矛盾,程序员应该准确估计变量的动态范围,然后进行适当的定标,使数字表示既不会溢出,又能达到最高的精度.

    定点数和浮点数的转换
    浮点数(x)转换为定点数(xq):xq=intx * 2Q
    定点数(xq)转换为浮点数(x):x=floatxq * 2-Q
  • 相关阅读:
    Match function in R
    Excel lastindex of a substring
    Print a file's last modified date in Bash
    IQR(Inter-Quartile Range)
    nohup 让进程在后台可靠运行的几种方法
    extension(类扩展)和 category(类别)
    Dart学习-操作符
    为什么我觉得Python烂的要死?
    自定义 Cordova插件(基础篇)
    Cordova入门系列(四)自定义Cordova插件--showToast
  • 原文地址:https://www.cnblogs.com/c6000/p/1802925.html
Copyright © 2011-2022 走看看