色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

計算機定點數據解說

冬至子 ? 來源:落木青云 ? 作者:一顆糯米 ? 2023-07-31 14:47 ? 次閱讀

回顧計算機中的數字

在學習計算機基礎的過程中我們已經知道計算機是基于二進制對數據進行存儲和運算的。學習C語言時我們又知道了C語言中常見的數據類型有:char,int,long intsignedunsigned 整數數據,以及floatdouble型的小數數據。

或看過我之前文章的朋友肯定也明白了,無論使用何種語言編寫的何種程序,最后進入處理器執行的都是一串二進制數據,是不是突然又想不明白處理器到底是怎么區分這些數據類型了?這不又繞回原來說的底層邏輯了嗎,你學微機原理,學匯編指令不就是幫你解決這個問題的?回過頭去研究明白了那以后何止單片機軟件開發呢,芯片設計,系統、編譯器開發不都能勝任了。扯遠了,先回到正題。

1.jpg

對于帶小數的數據也是如此,同樣需要將十進制數據轉為二進制,并規定其符號位,指數位以及小數位。比如IEEE.754標準(即IEEE二進制浮點數算術標準)中對float,double存儲邏輯的規定:

1.jpg

定點數據

一般情況下我們會將有小數的數據稱為浮點型數據,float為單精度浮點數據,double為雙精度浮點數據。正如上面所說的我們計算機使用的是以浮點法保存小數型數據的。與之對應的肯定就會有以定點的方式保存小數數據的方法。

定點是指表示一個數值時,小數點之后的位數是固定的,有時候小數點之前的位數是固定的。上面用浮點表示的小數,小數點的位置不是固定的,可以根據有效位數而浮動。

圖片

浮點數與定點數表示

圖片

定點小數

圖片

定點整數

定點數類型的值其實就是個整數,需要額外做比例進位,進多少位需要根據具體的定點數類型決定。例如 1.23 使用 1/1000 縮放系數的定點數表示時是 1230;1,230,000 使用 1000 縮放系數的定點數表示也是 1230。與浮點數不同,相同類型的定點數中所有值的縮放系數都是一致的,在計算過程中也保持不變。此表示法可以用標準的整數算術邏輯單元來進行有理數的計算。

為了效率考量,縮放系數(scaling factor)一般會是基數b(2 或是 10)的正冪次,或是負冪次,因此實際內部仍然可以用類似整數的方式處理。不過縮放系數也需依應用而定。因此許多的數字可能其數值其實是用二進制記錄,但為了使用方便人類讀寫,縮放系數仍選擇10的冪,10的冪的縮放系數也可以配合國際單位制,因為選擇特定的縮放系數,可能相當于使用另外一個大小較適合的單位,例如使用厘米或微米,而不是使用米,或者是以1/3600為縮放系數的定點數來表示以小時為單位的時間值,精確到秒。

采用定點計數法時,相鄰兩個數之差總是等于其中一個數的值,而采用浮點計數法時,相鄰數并不是均勻分布的。另外浮點計數的計數范圍是比定點計數范圍要大得多,并且一般場景中浮點計數精度往往也比定點計數精度高,正因為如此,一般情況下浮點計數法更適合于一般應用場景,一般老師在課堂上也不會做詳細介紹,所以我們對定點數感到陌生也完全不奇怪。

所以現在大多數處理器芯片都是帶有浮點運算器(FPU),只有在特殊的應用中才使用定點數運算,例如某些特定應用下的數字信號處理芯片(DSP)或一些低價的嵌入式系統微處理器MCU),這類的應用強調高需求速度,低電力需求及小集成電路區域,例如影像、視頻或圖片等數字信號處理,進行傅里葉變換以及數字濾波器設計,或是其他一些這種數字表示法比較適合的場景,如貨幣計算,儀器測量計數等,這些都是有特定的精度規則,使用浮點計數反而可能帶來更大的芯片資源消耗或成本開支,并且這些情況運算速度也不如定點運算快。

1.jpg

1.jpg

當然平時使用時我們也可以編寫一些特定程序對這些格式表示的數值范圍進行驗證。

#include < stdio.h >
#include < stdint.h >
#include < math.h >

int main()
{
    int16_t q_max = 32767; // 0x7FFF
    int16_t q_min = -32768; // 0x8000
    float f_max = 0;
    float f_min = 0;
    printf("rn");
    for (int8_t i = 15; i >=0; i--) 
    {
        f_max = (float)q_max / pow(2,i);
        f_min = (float)q_min / pow(2,i);

        printf("t|Q%dt|Q%d.%dt|%ft|%ft|rn",
               i,(15-i),i,f_max,f_min);
    }
    return 0;
}

1.jpg

定點與浮點相互轉化

在一些功能復雜的處理器中會同時支持兩種數據處理方式,比如STM32G4系列的芯片上攜帶的FMAC(filtermath accelerator)支持的定點DSP處理功能,使用的定點格式為Q1.15。

在這種既有定點運算又有浮點運算是處理器上做開發時我們不可避免的都會涉及到定點與浮點相互轉化的問題,這時需要注意進行處理數據!

1.jpg

定點運算思的擴展

在某些特定情況下定點運算對算法的效率優化有著出奇的效果,如果你對這方面感興趣不妨可以研究一下經典的快速平方根算法

另外,我們平時做單片機開發時在一些比較低端的芯片中,比如C51單片機,請切記不要輕易使用浮點運算!如果需要進行小數運算,我們可以借助定點運算是思想在程序中通過設計一定的比例系數對數據進行放大或縮小處理,從而實現某些功能。不要問我為啥,舉個簡單的例子,利用超聲波模塊測距,你自己寫兩個程序,一個使用浮點,一個不使用做個實驗測試一下就可以知道結果是怎么的了。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • STM32
    +關注

    關注

    2270

    文章

    10923

    瀏覽量

    357076
  • C語言
    +關注

    關注

    180

    文章

    7614

    瀏覽量

    137422
  • 信號處理器
    +關注

    關注

    1

    文章

    254

    瀏覽量

    25323
  • 傅里葉變換
    +關注

    關注

    6

    文章

    442

    瀏覽量

    42666
  • 浮點運算器
    +關注

    關注

    0

    文章

    4

    瀏覽量

    5766
收藏 人收藏

    評論

    相關推薦

    點數定點數

    本帖最后由 gk320830 于 2015-3-5 23:17 編輯 數制,浮點數定點數的文檔,上數電時老師給的。有興趣的同學可以來看看
    發表于 03-27 21:31

    【安富萊——DSP教程】第7章 DSP定點數和浮點數(重要)

    第7章DSP定點數和浮點數(重要) 本期教程主要跟大家講解一下定點數和浮點數的基礎知識,了解這些基礎知識對于后面學習ARM官方的DSP庫大有裨益。特別是初學的一定要理解這些基礎知識。
    發表于 06-03 11:47

    第7章 DSP定點數和浮點數

    。7.1.2 浮點數計算機系統的發展過程中,曾經提出過多種方法表達實數。典型的比如相對于浮點數定點數(Fixed Point Number)。在這種表達方式中,小數點固定的位于實
    發表于 09-22 13:02

    請問28335浮點數使用IQmath轉換后當定點數計算快還是用浮點數進行計算快?28335可以定點浮點混合編程嗎?

    本帖最后由 一只耳朵怪 于 2018-6-14 11:52 編輯 28335為浮點DSP ,現在假如我采用兩種方法:1.浮點數使用IQmath轉換后當定點數計算2.直接用浮點數
    發表于 06-14 05:59

    6618虛擬定點數學庫IQmath

    最近需要在6618上做速度優化,準備采用定點代替浮點的方式,但是沒有找到針對66X系列的虛擬定點數學庫。采用C64+系列的定點虛擬庫代替,發現32bit數據的乘法速度竟然比直接進行浮點
    發表于 06-21 11:23

    verilog程序定點數的資料

    verilog程序中需要用到定點數,用浮點數太復雜。。。有誰有關于定點數比較系統的資料嗎。。。我找到黑金的教程,是關于浮點數運算的verilog實現,很詳細,先傳上來 Verilog
    發表于 03-27 06:35

    DSP功能函數-定點數互轉

    第17章 DSP功能函數-定點數互轉本期教程主要講解功能函數中的Q7,Q15和Q31分別向其它類型數據轉換。目錄第17章 DSP功能函數-定點數互轉17.1 初學者重要提示17.2 DSP基礎運算指令17.3 ...
    發表于 08-11 08:04

    定點數運算中產生溢出的原因是什么

    馮·諾依曼機工作方式的基本特點是什么?計算機系統中采用補碼運算的目的是什么?在定點二進制運算器中,減法運算一般通過什么來實現?在定點數運算中產生溢出的原因是什么?和外存儲器相比,內存儲器的特點是什么?
    發表于 08-11 08:44

    功能函數中的浮點數轉換為定點數

    第16章 DSP功能函數-數據拷貝,數據填充和浮點轉定點本期教程主要講解功能函數中的數據拷貝,數據填充和浮
    發表于 08-17 07:37

    定點數和浮點數的區別是什么

    定點數和浮點數的區別目的:理解定點數和浮點數在傅里葉變換(FFT)的實際應用中的選擇單片機中如果需要進行一定的運算(常見的傅里葉變換)時,需要在不同情況下對AD采集的
    發表于 02-21 07:22

    請問ADSP-21469的匯編指令集ISA/VISA中有沒有專門用來進行浮點數定點數轉換的指令?

    得到的ADC數據需要進行定點數到浮點數的轉換,為了節省開銷,想使用匯編程序進行定點和浮點之間的轉換。請問ADSP-21469的匯編指令集ISA/VISA中有沒有專門用來進行浮
    發表于 11-29 08:03

    LabVIEW中定點數有什么用途?LabVIEW中定點數應用解析

    什么是定點數 顧名思義,在運算中小數點始終不會發生移動的數就是定點數。對于定點數,我們定義了其一共占有的bit位數以及小數點的位置,不同格式的定點數可以表達的
    發表于 11-16 13:04 ?9186次閱讀
    LabVIEW中<b class='flag-5'>定點數</b>有什么用途?LabVIEW中<b class='flag-5'>定點數</b>應用解析

    在FPGA里浮點數定點數表示法原理展示

    點數定點數表示法是我們在計算機中常用的表示方法 所以必須要弄懂原理,特別是在FPGA里面,由于FPGA不能像在MCU一樣直接用乘除法。 首先說一下簡單的定點數
    發表于 11-18 02:15 ?8817次閱讀
    在FPGA里浮<b class='flag-5'>點數</b>與<b class='flag-5'>定點數</b>表示法原理展示

    定點數和浮點數在STM32單片機中使用傅里葉(FFT)變換的理解

    定點數和浮點數的區別目的:理解定點數和浮點數在傅里葉變換(FFT)的實際應用中的選擇單片機中如果需要進行一定的運算(常見的傅里葉變換)時,需要在不同情況下對AD采集的
    發表于 12-24 19:22 ?16次下載
    <b class='flag-5'>定點數</b>和浮<b class='flag-5'>點數</b>在STM32單片機中使用傅里葉(FFT)變換的理解

    FPGA定點數截位的基本準則

    FPGA內部表示正負數,小數的規則。兩者相比之下,定點數實現簡單,表達更為直觀,所以在很多時候FPGA通常使用定點數表示小數。
    發表于 06-19 10:44 ?1567次閱讀
    FPGA<b class='flag-5'>定點數</b>截位的基本準則
    主站蜘蛛池模板: 男女全黄h全肉细节文 | 巨大乳hdbbw| 神马电影我不卡4k手机在线观看 | 亚洲AV无码专区国产乱码网站 | 欧美一区二区三区激情视频 | 色欲AV蜜臀AV在线观看麻豆 | 超碰国产视频免费播放 | 日韩精品人成在线播放 | 无码一区二区在线欧洲 | AV无码国产精品午夜A片麻豆 | 青青草国产精品久久 | 东京热 百度影音 | 蜜桃成熟时2电影免费观看d | 免费在线观看的毛片 | 在线不卡日本v二区 | 日本红怡院亚洲红怡院最新 | 神马电影院午 夜理论 | 97色伦在色在线播放 | 成人免费一级毛片在线播放视频 | 亚洲1卡二卡3卡4卡新区在线 | 国产人妻人伦精品久久无码 | 成年人在线免费观看视频网站 | 语文老师扒开胸罩喂我奶 | 亚洲一区二区女搞男 | 97视频免费上传播放 | 美女逼逼毛茸茸 | 亚洲熟女丰满多毛XXXXX | 国产毛片A级久久久不卡精品 | 2020久久精品永久免费 | 午夜一级免费视频 | 2020最新国产自产精品 | 白丝制服被啪到喷水很黄很暴力 | 久久女婷五月综合色啪 | 草民电影网午夜伦理电影网 | 亚洲视频在线看 | 久久se精品一区二区国产 | 色欲AV精品人妻一区二区麻豆 | 欧美乱码卡一卡二卡四卡免费 | 欧美激情社区 | 嫩草影院未满十八岁禁止入内 | 8X拨牐拨牐X8免费视频8 |