單片機的一個浮點數一般在KeilC51中是以4字節形式存儲的,格式嚴格遵循IEEE-754標準。在單片機二進制數據中,浮點數用兩個部分來表示,基C為2,E為階碼,M為尾數,E的保存形式是一個0~255的8位值,指數的實際表示值是保存值減去127,范圍在-127~+128的數,尾數是一個24位值,換算7個十進制數,最高位通常是1,符號位表示浮點數的正負。
現在看怎樣顯示一個浮點數,由于浮點數的尾數是24位,最高可以表達的整數值為16777215,用科學計數法表示時整數部分占據1位,小數部分就可以有6位,我們將浮點數的尾數放在長整形數據longint中保存,階碼可以在int型數據中保存。此處我們用C程序來實現顯示一個浮點數的功能。
(1)浮點數顯示子函數。
}}
(2)顯示十進制尾數和階的子函數。
在大多數的單片機應用系統中都不能離開數值計算,最基本的數值運算為四則運算,單片機中的數都是以二進制形式表示的,二進制的算法有很多,其中最基本的是定點制和浮點制,以上介紹了浮點數在單片機中的表示方式和匯編子程序,浮點數比定點數加減法要困難,但是克服了定點數表示范圍小的問題,總之定點數和浮點數各有各得的特點,讀者可以在實際運用中加以優化運用。
-
單片機
+關注
關注
6043文章
44622瀏覽量
638535
原文標題:51單片機執行指令的過程
文章出處:【微信號:mcu168,微信公眾號:硬件攻城獅】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
西門子TIA Portal如何比較兩個浮點數相等
![西門子TIA Portal如何比較兩個<b class='flag-5'>浮點數</b>相等](https://file1.elecfans.com/web3/M00/04/E9/wKgZPGd7O9eAMSnKAAATzidxstc670.jpg)
評論