電子發(fā)燒友App

硬聲App

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>嵌入式開發(fā)>你要用好高精度單片機(jī),那就不得不知道怎么使用浮點(diǎn)數(shù)!資料下載

你要用好高精度單片機(jī),那就不得不知道怎么使用浮點(diǎn)數(shù)!資料下載

2021-04-16 | pdf | 74.36KB | 次下載 | 2積分

資料介紹

單片機(jī)的BCD增量算式、線性化處理等過程中,都會(huì)遇到一個(gè)共同的問題,那就是小數(shù)的運(yùn)算。在單片機(jī)當(dāng)中,對(duì)于小數(shù)的表現(xiàn)方法一般只有兩種,一種是浮點(diǎn)數(shù),一種是定點(diǎn)數(shù)。本文就將對(duì)單片機(jī)中的浮點(diǎn)數(shù)進(jìn)行概述并對(duì)其匯編程序設(shè)計(jì)進(jìn)行介紹。 浮點(diǎn)數(shù)結(jié)構(gòu)有其自身的優(yōu)點(diǎn),其能夠以固定的字節(jié)長(zhǎng)度保持相對(duì)精度不變,用較少的字節(jié)表示很大的數(shù)的范圍,便于存儲(chǔ)和運(yùn)算,在處理的數(shù)據(jù)范圍較大和要求精度較高時(shí),采用浮點(diǎn)數(shù)。 浮點(diǎn)數(shù)概念 常用科學(xué)計(jì)數(shù)法來表示一個(gè)十進(jìn)制數(shù)如: l234.75=1.23475E3=1.23475×103(10的3次方) 在數(shù)據(jù)很大或很小時(shí),采用科學(xué)計(jì)數(shù)法避免了在有效數(shù)字前加0來確定小數(shù)點(diǎn)的位置,突出了數(shù)據(jù)的有效數(shù)字的位數(shù),簡(jiǎn)化了數(shù)據(jù)的表示,可以認(rèn)為科學(xué)計(jì)數(shù)法就是十進(jìn)制數(shù)的浮點(diǎn)數(shù)表示方法。 在二進(jìn)制中,也可以用類似的方法來表示一個(gè)數(shù),如: 1234.75=10011010010.11(二進(jìn)制)=0.1001101001011×211(2的11次方) 一般表達(dá)式為: N=S×2p 在這種表示方法中,數(shù)值由4個(gè)部分組成,即尾數(shù)S及符號(hào),階碼P及符號(hào)。 在二進(jìn)制中,通過定義相應(yīng)字節(jié)或位來表示這4部分,就形成了二進(jìn)制浮點(diǎn)數(shù)。二進(jìn)制浮點(diǎn)數(shù)可以有多種不同的表示方法,下面是一種常見的三字節(jié)浮點(diǎn)數(shù)的格式: 其中尾數(shù)占16位,階碼占6位,階符占1位,數(shù)符占1位。階碼通常用補(bǔ)碼來表示。 在這種表示方法中,小數(shù)點(diǎn)的實(shí)際位置要由階碼來確定,而階碼又是可變的,因此稱為浮點(diǎn)數(shù)。 1234.75用這種格式的浮點(diǎn)數(shù)表示就是: 000010111001101001011000 用十六進(jìn)制表示為: 1234.75=0B9A58H -1234.75=4B9A58H 0.171875=043B00H -0.171875=443B00H 三字節(jié)浮點(diǎn)數(shù)所能表示的最大值為: 1×263=9.22×1018 能表示的最小數(shù)的絕對(duì)值為: 0.5×2-63=5.42×10-20 其所表示的數(shù)的絕對(duì)值范圍=(5.42×10-20~9.22×1018),由此可以看到,比三字節(jié)定點(diǎn)數(shù)表示的數(shù)的范圍大得多。 按同樣方法可以定義一個(gè)4字節(jié)的浮點(diǎn)數(shù),以滿足更高精度的需要。 規(guī)格化浮點(diǎn)數(shù) 同一個(gè)數(shù)用浮點(diǎn)數(shù)表示可以是不同的,如: 1234.75=0B9A58H=0C4D2CH=0D2696H 雖然這幾種表示其數(shù)值是相同的,但其尾數(shù)的有效數(shù)字的位數(shù)不同,分別為16位、15位和14位。在運(yùn)算過程中,為了最大限度地保持運(yùn)算精度,應(yīng)盡量增加尾數(shù)的有效位數(shù),這就需要對(duì)浮點(diǎn)數(shù)進(jìn)行規(guī)格化處理。 在只考慮用二進(jìn)制原碼表示尾數(shù)時(shí),尾數(shù)的最高位為l,則該浮點(diǎn)數(shù)為規(guī)格化浮點(diǎn)數(shù)。在規(guī)格化浮點(diǎn)數(shù)中,用尾數(shù)為0和最小階碼表示0,三字節(jié)規(guī)格化浮點(diǎn)數(shù)的0表示為410000H。 浮點(diǎn)數(shù)在運(yùn)算之前和運(yùn)算之后都要進(jìn)行規(guī)格化,規(guī)格化過程包括以下步驟: 首先判斷尾數(shù)是否為0,如果為0,規(guī)格化結(jié)果為410000H;(如果尾數(shù)不為0,判斷層數(shù)的最高位是否為1,如果不為1,尾數(shù)左移,階碼減1。) 再判斷層數(shù)的最高位是否為1,如果不為1,繼續(xù)進(jìn)行規(guī)格化操作,如果為1,則規(guī)格化結(jié)束。 通過以上的文章可以看到,浮點(diǎn)數(shù)結(jié)構(gòu)有著較為明顯的應(yīng)用場(chǎng)景。在需要處理的數(shù)據(jù)范圍較大或者對(duì)于數(shù)據(jù)的請(qǐng)求范圍較高時(shí),適合使用單片機(jī)浮點(diǎn)數(shù)來進(jìn)行運(yùn)算,浮點(diǎn)數(shù)能夠利用自身固定的字節(jié)長(zhǎng)度來保持相對(duì)精度。設(shè)計(jì)者可根據(jù)自己不同的需要來進(jìn)行選擇,希望大家在閱讀過本文之后能夠有所收獲。 文章來源:網(wǎng)絡(luò)(版權(quán)歸原著作者所有) (mbbeetchina)
下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評(píng)論

查看更多

下載排行

本周

  1. 1TC358743XBG評(píng)估板參考手冊(cè)
  2. 1.36 MB  |  330次下載  |  免費(fèi)
  3. 2開關(guān)電源基礎(chǔ)知識(shí)
  4. 5.73 MB  |  6次下載  |  免費(fèi)
  5. 3100W短波放大電路圖
  6. 0.05 MB  |  4次下載  |  3 積分
  7. 4嵌入式linux-聊天程序設(shè)計(jì)
  8. 0.60 MB  |  3次下載  |  免費(fèi)
  9. 5基于FPGA的光纖通信系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
  10. 0.61 MB  |  2次下載  |  免費(fèi)
  11. 6基于FPGA的C8051F單片機(jī)開發(fā)板設(shè)計(jì)
  12. 0.70 MB  |  2次下載  |  免費(fèi)
  13. 751單片機(jī)窗簾控制器仿真程序
  14. 1.93 MB  |  2次下載  |  免費(fèi)
  15. 8基于51單片機(jī)的RGB調(diào)色燈程序仿真
  16. 0.86 MB  |  2次下載  |  免費(fèi)

本月

  1. 1OrCAD10.5下載OrCAD10.5中文版軟件
  2. 0.00 MB  |  234315次下載  |  免費(fèi)
  3. 2555集成電路應(yīng)用800例(新編版)
  4. 0.00 MB  |  33564次下載  |  免費(fèi)
  5. 3接口電路圖大全
  6. 未知  |  30323次下載  |  免費(fèi)
  7. 4開關(guān)電源設(shè)計(jì)實(shí)例指南
  8. 未知  |  21548次下載  |  免費(fèi)
  9. 5電氣工程師手冊(cè)免費(fèi)下載(新編第二版pdf電子書)
  10. 0.00 MB  |  15349次下載  |  免費(fèi)
  11. 6數(shù)字電路基礎(chǔ)pdf(下載)
  12. 未知  |  13750次下載  |  免費(fèi)
  13. 7電子制作實(shí)例集錦 下載
  14. 未知  |  8113次下載  |  免費(fèi)
  15. 8《LED驅(qū)動(dòng)電路設(shè)計(jì)》 溫德爾著
  16. 0.00 MB  |  6653次下載  |  免費(fèi)

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935054次下載  |  免費(fèi)
  3. 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
  4. 78.1 MB  |  537796次下載  |  免費(fèi)
  5. 3MATLAB 7.1 下載 (含軟件介紹)
  6. 未知  |  420026次下載  |  免費(fèi)
  7. 4OrCAD10.5下載OrCAD10.5中文版軟件
  8. 0.00 MB  |  234315次下載  |  免費(fèi)
  9. 5Altium DXP2002下載入口
  10. 未知  |  233046次下載  |  免費(fèi)
  11. 6電路仿真軟件multisim 10.0免費(fèi)下載
  12. 340992  |  191185次下載  |  免費(fèi)
  13. 7十天學(xué)會(huì)AVR單片機(jī)與C語言視頻教程 下載
  14. 158M  |  183278次下載  |  免費(fèi)
  15. 8proe5.0野火版下載(中文版免費(fèi)下載)
  16. 未知  |  138040次下載  |  免費(fèi)