資料介紹
在單片機(jī)的BCD增量算式、線性化處理等過(guò)程中,都會(huì)遇到一個(gè)共同的問(wèn)題,那就是小數(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ù)法來(lái)表示一個(gè)十進(jìn)制數(shù)如:
l234.75=1.23475E3=1.23475×103(10的3次方)
在數(shù)據(jù)很大或很小時(shí),采用科學(xué)計(jì)數(shù)法避免了在有效數(shù)字前加0來(lái)確定小數(shù)點(diǎn)的位置,突出了數(shù)據(jù)的有效數(shù)字的位數(shù),簡(jiǎn)化了數(shù)據(jù)的表示,可以認(rèn)為科學(xué)計(jì)數(shù)法就是十進(jìn)制數(shù)的浮點(diǎn)數(shù)表示方法。
在二進(jìn)制中,也可以用類似的方法來(lái)表示一個(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)制中,通過(guò)定義相應(yīng)字節(jié)或位來(lái)表示這4部分,就形成了二進(jìn)制浮點(diǎn)數(shù)。二進(jìn)制浮點(diǎn)數(shù)可以有多種不同的表示方法,下面是一種常見(jiàn)的三字節(jié)浮點(diǎn)數(shù)的格式:
其中尾數(shù)占16位,階碼占6位,階符占1位,數(shù)符占1位。階碼通常用補(bǔ)碼來(lái)表示。
在這種表示方法中,小數(shù)點(diǎn)的實(shí)際位置要由階碼來(lái)確定,而階碼又是可變的,因此稱為浮點(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)算過(guò)程中,為了最大限度地保持運(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ī)格化過(guò)程包括以下步驟:
首先判斷尾數(shù)是否為0,如果為0,規(guī)格化結(jié)果為410000H;(如果尾數(shù)不為0,判斷層數(shù)的最高位是否為1,如果不為1,尾數(shù)左移,階碼減1。)
再判斷層數(shù)的最高位是否為1,如果不為1,繼續(xù)進(jìn)行規(guī)格化操作,如果為1,則規(guī)格化結(jié)束。
通過(guò)以上的文章可以看到,浮點(diǎn)數(shù)結(jié)構(gòu)有著較為明顯的應(yīng)用場(chǎng)景。在需要處理的數(shù)據(jù)范圍較大或者對(duì)于數(shù)據(jù)的請(qǐng)求范圍較高時(shí),適合使用單片機(jī)浮點(diǎn)數(shù)來(lái)進(jìn)行運(yùn)算,浮點(diǎn)數(shù)能夠利用自身固定的字節(jié)長(zhǎng)度來(lái)保持相對(duì)精度。設(shè)計(jì)者可根據(jù)自己不同的需要來(lái)進(jìn)行選擇,希望大家在閱讀過(guò)本文之后能夠有所收獲。
文章來(lái)源:網(wǎng)絡(luò)(版權(quán)歸原著作者所有)
(mbbeetchina)
下載該資料的人也在下載
下載該資料的人還在閱讀
更多 >
- 單精度浮點(diǎn)數(shù)和十六進(jìn)制相互轉(zhuǎn)換例程(基于LV) 36次下載
- C浮點(diǎn)數(shù)與字符轉(zhuǎn)換工具 1次下載
- 定點(diǎn)數(shù)和浮點(diǎn)數(shù)在STM32單片機(jī)中使用傅里葉(FFT)變換的理解
- stm32F4單片機(jī)計(jì)算浮點(diǎn)數(shù)的時(shí)候偶發(fā)性出錯(cuò)的解決方法
- MCU進(jìn)行雙精度與單精度浮點(diǎn)數(shù)運(yùn)算的誤差比較測(cè)試
- 單片機(jī)顯示浮點(diǎn)數(shù)
- 浮點(diǎn)數(shù)十六進(jìn)制轉(zhuǎn)換器應(yīng)用程序軟件免費(fèi)下載 7次下載
- 單片機(jī)中的16進(jìn)制如何與浮點(diǎn)數(shù)進(jìn)行互換
- STC15單片機(jī)和ST7565P液晶顯示屏顯示浮點(diǎn)數(shù)數(shù)據(jù)的程序免費(fèi)下載
- 單片機(jī)中的浮點(diǎn)數(shù)轉(zhuǎn)換成串口可打印格式的程序免費(fèi)下載
- TMS320C6654定點(diǎn)和浮點(diǎn)數(shù)字信號(hào)處理器詳細(xì)資料概述 10次下載
- 上位機(jī)接收下位機(jī)發(fā)送浮點(diǎn)數(shù) 20次下載
- 單片機(jī)浮點(diǎn)數(shù)的快速除法 93次下載
- 基于FPGA 的單精度浮點(diǎn)數(shù)乘法器設(shè)計(jì)
- 浮點(diǎn)數(shù)在單片機(jī)數(shù)據(jù)采集監(jiān)控系統(tǒng)中的應(yīng)用
- 一文帶你秒懂IEEE 754浮點(diǎn)數(shù) 1.3w次閱讀
- modbus浮點(diǎn)數(shù)怎么讀取 9.4k次閱讀
- 縫縫補(bǔ)補(bǔ)的浮點(diǎn)數(shù)進(jìn)制轉(zhuǎn)換器 2.9k次閱讀
- 西門(mén)子PLC讀取的儀表數(shù)據(jù)(浮點(diǎn)數(shù))如何轉(zhuǎn)換為整數(shù) 8.5k次閱讀
- PLC中浮點(diǎn)數(shù)的二進(jìn)制表示 7.6k次閱讀
- 什么是浮點(diǎn)數(shù) 6k次閱讀
- 如何在FPGA中正確處理浮點(diǎn)數(shù)運(yùn)算 5.9k次閱讀
- 單片機(jī)浮點(diǎn)數(shù)的運(yùn)算原理及表達(dá)方式 1.4w次閱讀
- MSC-51單片機(jī)的3字節(jié)和4字節(jié)浮點(diǎn)數(shù)計(jì)算程序分析 4.7k次閱讀
- Xilinx怎么定點(diǎn)數(shù)轉(zhuǎn)浮點(diǎn)數(shù) 4.2k次閱讀
- 你不得不知道的嵌入式C的高級(jí)用法 4.6k次閱讀
- STM32如何通過(guò) printf 打印出浮點(diǎn)數(shù) 2w次閱讀
- modbus 如何讀取浮點(diǎn)數(shù) 1.5w次閱讀
- 什么是單精度和雙精度_單精度和雙精度浮點(diǎn)數(shù)表示方法 10.4w次閱讀
- ARM下浮點(diǎn)數(shù)Middle-Endian問(wèn)題的處理 1.8k次閱讀
下載排行
本周
- 1冷柜-電氣控制系統(tǒng)講解
- 13.68 MB | 4次下載 | 10 積分
- 2安川A1000變頻器中文版說(shuō)明書(shū)
- 20.16 MB | 3次下載 | 3 積分
- 3直流電路的組成和基本定律
- 1.67 MB | 2次下載 | 免費(fèi)
- 4丹佛斯2800系列變頻器說(shuō)明書(shū)
- 8.00 MB | 1次下載 | 5 積分
- 5PC8011同步開(kāi)關(guān)型降壓3.5A單節(jié)鋰電池充電管理電路技術(shù)手冊(cè)
- 0.74 MB | 1次下載 | 免費(fèi)
- 6ES7243E+ES8311音頻錄制與播放電路資料
- 0.06 MB | 1次下載 | 5 積分
- 7SDM02 激光測(cè)距模塊產(chǎn)品手冊(cè)
- 0.43 MB | 1次下載 | 免費(fèi)
- 8SDFM 激光測(cè)距模塊模組手冊(cè)
- 0.54 MB | 1次下載 | 免費(fèi)
本月
- 1CH341編程器軟件NeoProgrammer_2.2.0.10
- 20.47 MB | 170次下載 | 1 積分
- 22025智能家居傳感器市場(chǎng)分析及創(chuàng)新應(yīng)用
- 3.11 MB | 43次下載 | 免費(fèi)
- 3RV1126B系列開(kāi)發(fā)板產(chǎn)品資料
- 4.19 MB | 18次下載 | 免費(fèi)
- 4CH341編程軟件下載
- 2.50 MB | 16次下載 | 5 積分
- 5全志系列-米爾基于T153核心板開(kāi)發(fā)板 四核異構(gòu)、3路千兆網(wǎng),賦能多元化工業(yè)場(chǎng)景
- 3.05 MB | 12次下載 | 免費(fèi)
- 6【開(kāi)源】60余套STM32單片機(jī)、嵌入式Linux、物聯(lián)網(wǎng)、人工智能項(xiàng)目案例及入門(mén)學(xué)習(xí)資源包
- 10.55 MB | 8次下載 | 免費(fèi)
- 7冷柜-電氣控制系統(tǒng)講解
- 13.68 MB | 4次下載 | 10 積分
- 8特斯拉MODEL S車載充電機(jī)主電路回路原理圖
- 0.81 MB | 4次下載 | 3 積分
總榜
- 1matlab軟件下載入口
- 未知 | 935137次下載 | 10 積分
- 2開(kāi)源硬件-PMP21529.1-4 開(kāi)關(guān)降壓/升壓雙向直流/直流轉(zhuǎn)換器 PCB layout 設(shè)計(jì)
- 1.48MB | 420064次下載 | 10 積分
- 3Altium DXP2002下載入口
- 未知 | 233094次下載 | 10 積分
- 4電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191448次下載 | 10 積分
- 5十天學(xué)會(huì)AVR單片機(jī)與C語(yǔ)言視頻教程 下載
- 158M | 183356次下載 | 10 積分
- 6labview8.5下載
- 未知 | 81604次下載 | 10 積分
- 7Keil工具M(jìn)DK-Arm免費(fèi)下載
- 0.02 MB | 73824次下載 | 10 積分
- 8LabVIEW 8.6下載
- 未知 | 65991次下載 | 10 積分
電子發(fā)燒友App





創(chuàng)作
發(fā)文章
發(fā)帖
提問(wèn)
發(fā)資料
發(fā)視頻
上傳資料賺積分
評(píng)論