單片機浮點數的運算原理及表達方式

2021-01-07 電子發燒友
打開APP
單片機浮點數的運算原理及表達方式

發表於 2019-04-18 15:38:39

單片機一般浮點數均採用士MxC的形式來表示,其中M稱為尾數。它一般取為小數0≤M

浮點數也有各種各樣表示有符號數的方法,其中數的符號常和尾數放在一起,即把士M作為一個有符號的小數,它可以採用原碼、補碼等各種表示方法,而階碼可採用各種不同的長度,並且數的符號也可以放於各種不同的地方。所以浮點數有很多的表示方法。

四字節浮點數表示法是微機中常用的一種表示方式。浮點數總長度是32位,其中階碼8位,尾數是24位。階碼和尾數均為2的補碼形式。階碼的最大值位+127,最小值-128,這樣四字節浮點數能表示的最大值近似於l×2(的127次方)=l70×l0(的38次方),能表示的最小值近似為0.5×2(的-128次方)=1.47×10(的-39次方),這時該範圍內的數具有同樣的精度。

四字節的浮點數精度較高,接近7位十進位數,但是由於字節較多,運算速度較慢,往往不能滿足實時控制和測量的需要,並且實際使用時所需的精度一般不要求這麼高,三字節浮點數就滿足了這個要求,精度較低,但運算速度較高。浮點數總長為24位,其中階碼為7位,數符在階碼所在字節的最高位,尾數為16位,這種表示法運算速度較快需要的存儲容量較小,並且數的範圍和精度能滿足大多數應用場合的需要。下面的程序基本都採用這種表示方法。

規格化浮點數,在實際應用中,需要有一個程序來完成把一個非規格化數變規格化數的操作。在進行規格化操作時,對原碼表示的數,一般是先判斷尾數的最高位數值位是0還是1。如果是0則把尾數左移l位,階碼減1再循環判斷,如果是1,則結束操作。由於零無法規格化,一旦尾數為0,則把階碼置為最小值。如果在規格化中,階碼減1變成最小值時,不能再繼續進行規格化操作,否則發生階碼下溢出,一般稱之為左規格化操作。

打開APP閱讀更多精彩內容

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

相關焦點

  • 單片機浮點數的實用快速除法介紹
    作為單片機程式設計師來說,在編寫程序時經常要檢驗程序中的浮點數運算結果是否正確,但手中又沒有合適的檢驗工具,非常麻煩。而一般單片機是沒有浮點數運算指令的,必須自行編制相應軟體。在進行除法計算時,通常使用的方法是比較除法,即利用循環移位和減法操作來得到24~32位商,效率很低。這裡給出一種浮點數除法運算的實用快速算法。該方法以數值計算中的預估-修正方法為指導,充分利用了16位單片機的乘除法功能,很輕易地實現了浮點數的除法。
  • 漫談計算機組成原理(十)浮點數運算
    浮點數和定點數一樣,都是計算機中數據的存儲形式。定點數我們可以理解成純小數或者純整數,但是實際上在計算機中參與運算的數字並非都是定點數。比如,有些數據過大,比如2100這樣的數據,如果寫成二進位的形式,寄存器肯定是無法放下的。於是就有了浮點數這種數據。本文主要講述浮點數的概念、浮點數的規格化,以及浮點數的各種運算。
  • PIC單片機的浮點數格式及轉換
    由美國Microchip公司生產的PIC系列單片機,因其功耗低,超小型,低成本,功能完整,非常適用於可攜式儀表和就地式顯示控制儀表,在國內越來越受到用戶的重視和廣泛的應用。 在我們設計的儀表中採用PIC系列單片機,碰到了浮點數的運算問題,查閱其有關資料發現,其浮點數的格式及其與十進位數之間的轉換,與我們常用的MCS-51單片機所提供的三字節、四字節浮點數完全不同,本文將說明其浮點數的格式及其與十進位數之間的轉換和程序設計步驟。
  • c51單片機浮點數及其彙編程序設計
    在單片機應用系統的數據處理過程中,經常會遇到小數的運算問題,如求解BCD的增量算式、線性化處理等。因此,需要用二進位數來表示小數。表示小數的方法一般有兩種,定點數和浮點數。定點數結構簡單,與整數的運算過程相同,運算速度快。但隨著所表示數的範圍的擴大,其位數成倍增加,給運算和存儲帶來不便,而且也不能保證相對精度不變。
  • 單片機的加減法原理
    這是計算機組成原理的問題。計算機怎麼表示負數。mov a,@3 mov 0x20,a mov a,@0xfe add 0x20,a仿真運行結果,0x20數值為 1,C=1表示加法運算進位了,Z=0表示運算結果非零。這個跟上面的減法運算結果是一模一樣的。這就是我們期待的結果,證明了單片機裡面是補碼的運算。
  • 單片機原理及接口技術|教學大綱
    第3章 51單片機指令系統(4學時)學習要點:①  51單片機CPU指令系統②  數據傳送類指令③  算術運算類指令④  邏輯運算類指令⑤  控制轉移類指令⑥  位操作、位控制轉移類指令⑦  偽指令⑧  指令程序
  • MCS-51單片機的結構和工作原理
    推薦閱讀 簡述MCS-51系列單片機主從結構多機通信原理 簡述MCS-51系列單片機主從結構多機通信原理,設有一臺主機與三臺從機通信,其中一臺從機通信地址號為01H,請敘述主機呼叫從機並向其傳送一個字節數據的過程。
  • 單片機定時器工作原理_單片機定時器工作方式_單片機定時器作用
    定時器在單片機中是一個重點,今天我們來介紹一下關於單片機定時器的工作原理、工作方式以及單片機定時器的作用。      單片機定時器工作原理   實質是計數器,脈衝每一次下降沿,計數寄存器數值將加1。
  • 如何使用MSP430單片機實現簡易計算器的設計
    本文介紹了一種基於MSP430單片機的簡易電子計算器設計。基於MSP430單片機的簡易電子計算器設計具有體積小、便於攜帶、應用方便、組成元器件少、製造成本低等優點。MSP430單片機具有的超低功耗、硬體浮點數運算等功能使得簡易電子計算器設計簡單、計算能力強,有著廣闊的發展前景。
  • 跟電師傅學單片機(12):單片機算術運算加減法指令圖文新解
    單片機算術運算類指令(24條)單片機算術運算指令是8位二進位數進行加、減、乘、除四則運算,以及加1、減1、十進位調整等。本節介紹其中加減法12條指令。ADD A,Rn;屬於寄存器尋址方式。指令功能是將寄存器Rn中的內容與累加器A中的內容相加,其結果送回A中。ADD A,direct;屬於直接尋址方式。指令功能是將直接地址direct中的內容與累加器A中的內容相加,其結果送回A中。ADD A,@Rn;屬於寄存器間接尋址方式。
  • 跟電師傅學單片機(13):單片機算術運算類指令圖文講解
    二:十進位調整指令(1條)DA A單片機十進位調整指令,功能是在進行BCD碼加法運算時,用來對BCD碼的加法運算結果自動進行修正,修正結果存放在A中。注意:1:在進行BCD加法運算時,在單片機加法指令ADD或ADDC指令後緊跟著DA A指令,單片機自動判斷和修正。2:對BCD碼的減法運算時不能用DA A指令不進行修正,不適用減法指令。3:影響PSW中CY、AC、OV標誌位。
  • 單片機求平方根的高效快速算法
    因為軟體自帶算法是用浮點數類型來計算的,現實中我們往往只需要返回整型數據,採用以下代碼求平方根將會大大提高計算效率。twice if(xr x){ return xr +1; // add for rounding } else{ return xr; }} 51單片機相關文章
  • 單片機與PLC的主要區別及工作原理解釋
    要搞清楚單片機與PLC的異同,首先得明確什麼是單片機,什麼是PLC。對此,我們簡要回顧一下計算機的發展歷程也許有幫助,按計算機專家的原始定義, 計算機系統由五大部分--即控制單元(CU)、算術運算單元(ALU)、存儲器(Memory)、輸入設備(Input)、輸出設備(Output)組 成。
  • 跟電師傅學單片機(14):輕鬆學習單片機邏輯運算類指令
    單片機邏輯運算類指令:24條對2個8位二進位數進行與、或、非和異或等單片機邏輯運算,對單片機數據進行邏輯處理,適合於傳送、存儲和輸出等。一:邏輯與指令(共6條)注意:在單片機實際編程中,邏輯與指令主要用於從某個存儲單元中取出某幾位,而把其他位變為0。除前面4條累加A為目的操作數僅影響單片機PSW中的P標誌,後面2條指令均不影響PSW中的任何標誌位。
  • 你應該知道的浮點數基礎知識
    其實原理很簡單就是保證小數點前只有一個bit。於是我們就得到了以下表示:1.0100110011001100110011 * 2^2。到此為止我們已經把改寫工作完成,接下來就是要把bit填充到三個組成部分中去了。指數部分(Exponent):之前說過需要以127作為偏移量調整。因此2的2次方,指數部分偏移成2+127即129,表示成10000001填入。
  • 用單片機實現位邏輯運算
    :請編寫程序實現位X與位Y異或運算。:請編寫程序實現位X、位Y 的異或運算。  位邏輯運算 編輯:什麼魚 引用地址:http://news.eeworld.com.cn/mcu/article_2018050939127.html 本網站轉載的所有的文章、圖片、音頻視頻文件等資料的版權歸版權所有人所有,本站採用的非本站原創文章及圖片等內容無法一一聯繫確認版權者
  • 單片機c語言教程:C51運算符和表達式
    如果你是個DELPHI 編程愛好者或是DELPHI程式設計師,你對變量的定義也許習慣了DELPHI 的關鍵字,如 int 類型常會用關鍵字Integer來定義,在用 單片機c語言時你還想用回這個的話,你能這樣寫:本文引用地址:http://www.eepw.com.cn/article/170888.htmtypedef int integer;
  • 跟電師傅學單片機(15):單片機邏輯運算指令圖文講解
    影響單片機標誌寄存器PSW中的奇偶標誌位P。累加器A取反指令CPL A;單片機軟體指令功能是將累加器A中的內容全部取反,結果送回A中。影響單片機標誌寄存器PSW中的奇偶標誌位P。常用於單片機某個存儲器單元或某個存儲器區域中帶符號數的求補。
  • Python中的數字類型格式與運算
    3.複數(Complex)4.布爾(Boolean)接下來我們就介紹一下這種數據類型在Python中的具體運用基礎算術運算符在具體的認知Python中的數字類型格式之前,我們需要先了解一下Python中的基礎算術預算符,他們與現實中的運算符原理相同
  • 運用單片機進行加減乘除法的運算
    單片機介紹   單片機是一種集成在電路晶片,是採用超大規模集成電路技術把具有數據處理能力的中央處理器CPU隨機存儲器RAM、只讀存儲器ROM、多種I/O口和中斷系統、