[導讀]在我們設計的儀表中采用PIC系列單片機,碰到了浮點數(shù)的運算問題,查閱其有關資料發(fā)現(xiàn),其浮點數(shù)的格式及其與十進制數(shù)之間的轉(zhuǎn)換,與我們常用的MCS-51單片機所提供的三字節(jié)、四字節(jié)浮點數(shù)完全不同,本文將說明其浮點數(shù)
在我們設計的儀表中采用PIC系列單片機,碰到了浮點數(shù)的運算問題,查閱其有關資料發(fā)現(xiàn),其浮點數(shù)的格式及其與十進制數(shù)之間的轉(zhuǎn)換,與我們常用的MCS-51單片機所提供的三字節(jié)、四字節(jié)浮點數(shù)完全不同,本文將說明其浮點數(shù)的格式及其與十進制數(shù)之間的轉(zhuǎn)換和程序設計步驟。
1 浮點數(shù)的格式
Microchip公司單片機所采用的浮點數(shù)格式是IEEE-754標準的變異型。32位浮點數(shù)格式為:
其中:×表示一位二進制數(shù)0或1;eb為指數(shù)的偏差;S為浮點數(shù)的符號位,S=0為正數(shù),S=1為負數(shù);小數(shù)點“·”在符號位S的右邊;BY0BY1BY2為尾數(shù)的小數(shù)部分。
應特別注意:
⑴浮點數(shù)隱含其整數(shù)部分為1。
⑵十進制數(shù)0的浮點數(shù)表示為00H,00H,00H,00H。
2 浮點數(shù)與十進制數(shù)之間的相互轉(zhuǎn)換
2.1 十進制數(shù)轉(zhuǎn)換成浮點數(shù)
設:十進數(shù)為A,則2Z=A,Z=lnA/ln2,指數(shù)P=int(z);尾數(shù)部分X:X=A/2P,其整數(shù)部分隱含為1(零除外),將其小數(shù)部分按原碼格式化為二進制數(shù),即為尾數(shù)的小數(shù)部分BY0BY1BY2。而指數(shù)偏差eb=P+7FH(其中的7FH為指數(shù)的偏移量)。符號位S,視十進制數(shù)的正負而確定。
例如十進制數(shù)50.265化為32位規(guī)格化浮點數(shù):A=50.265,則Z=ln50.265/ln2,P=int(Z),故P=5;X=A/2P=50.265/25=1.57078125,將0.57078125化為23位二進制小數(shù),即是BY0BY1BY2,在最高位添上十進制數(shù)的符號位S(因十進制數(shù)為正數(shù),故S=0);而eb=P+7FH,所以,十進制數(shù)50.265的32位規(guī)格化浮點數(shù)即為84H,49H,0FH,5CH。
2.2 浮點數(shù)轉(zhuǎn)換為十進制數(shù)
設浮點數(shù)為ebS.BY0BY1BY2。由于浮點數(shù)隱含尾數(shù)的整數(shù)為1,故尾數(shù)X的實際值為:
BY0BY1BY2;指數(shù)P=eb-7FH;故:十進制數(shù)
A=(-1)S×2P×X
例:32位規(guī)格化浮點數(shù)84H,49H,0FH,5CH轉(zhuǎn)換為十進制數(shù)。
符號位S=0;指數(shù)P=84H-7FH,故P=5;尾數(shù)的小數(shù)部分為49H,0FH,5CH左移一位,而尾數(shù)的整數(shù)部分隱含為1,故尾數(shù)X的實際值為:1.57078123;十進制數(shù)A=(-1)0×25×1.57078123,即A=50.265。
3 浮點數(shù)與十進制數(shù)相互轉(zhuǎn)換的程序設計
3.1 浮點數(shù)轉(zhuǎn)換為十進制數(shù)的程序設計
(1)檢測浮點數(shù)是否為零;若為零,則十進制數(shù)整數(shù)部分和小數(shù)部分均為零。
(2)保存浮點數(shù)的符號位,將浮點數(shù)隱含的1置于浮點數(shù)的符號位,指數(shù)偏差eb加1,小數(shù)點移到原浮點數(shù)的符號位之前。
(3)判斷指數(shù)偏差大于7FH否?若小于等于7FH,則該進制數(shù)整數(shù)部分為零,浮點數(shù)尾數(shù)部分右移n次(注:n=7FH-指數(shù)偏差eb),即求得二進制小數(shù)部分。若大于7FH,則將小數(shù)點右移n’次(注:n’=指數(shù)偏差eb-7FH),即求得二進制整數(shù)部分和小數(shù)部分。
(4)將二進制整數(shù)部分轉(zhuǎn)換為十進制整數(shù);將二進制小數(shù)部分轉(zhuǎn)換為十進制小數(shù)。至此,完成了浮點數(shù)到十進制數(shù)的轉(zhuǎn)換。
3.2 十進制數(shù)轉(zhuǎn)換為浮點數(shù)的程序設計
(1)檢測十進制數(shù)是否為零,若為零,則浮點數(shù)置成00H,00H,00H,00H。
(2)保存十進制數(shù)的符號位,將十進制數(shù)的整數(shù)部分轉(zhuǎn)換為二進制整數(shù),將十進制數(shù)的小數(shù)部分轉(zhuǎn)換為二進制小數(shù)(設二進制整數(shù)為三個字節(jié),二進制小數(shù)為兩個字節(jié))。
(3)將浮點數(shù)的指數(shù)偏差eb置為7FH+23,檢測二進制整數(shù)的最高位是否為1,不是,則將二進制整數(shù)和二進制小數(shù)聯(lián)合左移,左移一次,指數(shù)偏差減1,直至二進制整數(shù)的最高位為1;隱含尾數(shù)整數(shù)的1,將二進制整數(shù)的最高位改為數(shù)的符號位。至此,指數(shù)偏差eb單元及原二進制整數(shù)的三個單元中的內(nèi)容,即構(gòu)成四字節(jié)浮點數(shù)。
最后應該指出,本文所述32位浮點數(shù),精度相當于7位十進制數(shù);32位浮點數(shù)運算程序在Microchip公司提供的有關資料中均有,但是,在調(diào)試其浮點子程序時,發(fā)現(xiàn)0減0的結(jié)果為00H,80H,00H,00H,而不是00H,00H,00H,00H,編程時應注意。
4 結(jié)語
本文中的十進制數(shù)與浮點數(shù)之間相互轉(zhuǎn)換的程序設計,在智能化儀表的鍵盤置數(shù)及數(shù)據(jù)顯示中,具有實用價值。這里提出了一種設計思路,沒有復雜的算法,程序設計亦較簡單,工作量較少,可利用Microchip公司提供的現(xiàn)成子程序?qū)崿F(xiàn)十進制整數(shù)與二進制整數(shù)的相互轉(zhuǎn)換,十進制小數(shù)與二進制小數(shù)的相互轉(zhuǎn)換。
本站聲明: 本文章由作者或相關機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
美國紐約州阿蒙克2022年10月20日 /美通社/ -- IBM(NYSE: IBM)發(fā)布 2022 年第三季度業(yè)績報告。 IBM 董事長兼首席執(zhí)行官 Arvind Kri...
關鍵字:
IBM
軟件
BSP
云平臺
成都2022年10月19日 /美通社/ -- 近期,平安養(yǎng)老險積極籌備個人養(yǎng)老金的產(chǎn)品設計和系統(tǒng)開發(fā)工作,發(fā)展多樣化的養(yǎng)老金融產(chǎn)品,推動商業(yè)養(yǎng)老保險、個人養(yǎng)老金、專屬商業(yè)養(yǎng)老保險等產(chǎn)品供給。 搭養(yǎng)老政策東風 ...
關鍵字:
溫度
BSP
東風
大眾
廣東佛山2022年10月19日 /美通社/ -- 空間是人居生活的基礎單元,承載著生存與活動的最基本功能。而對于理想空間的解構(gòu)意義卻在物理性容器之外,體現(xiàn)出人們對于空間和生活深層關系的思考,同時也塑造著人與空間的新型連接...
關鍵字:
溫度
BSP
智能化
進程
上海2022年10月19日 /美通社/ -- 10月17日晚間,安集科技披露業(yè)績預告。今年前三季度,公司預計實現(xiàn)營業(yè)收入7.54億元至8.33億元,同比增長60.24%至77.03%;歸母凈利潤預計為1.73億...
關鍵字:
電子
安集科技
BSP
EPS
北京2022年10月19日 /美通社/ -- 10月18日,北京市經(jīng)濟和信息化局發(fā)布2022年度第一批北京市市級企業(yè)技術(shù)中心創(chuàng)建名單的通知,諾誠健華正式獲得"北京市企業(yè)技術(shù)中心"認定。 北京市企業(yè)技...
關鍵字:
BSP
ARMA
COM
代碼
北京2022年10月18日 /美通社/ -- 10月14日,國際數(shù)據(jù)公司(IDC)發(fā)布《2022Q2中國軟件定義存儲及超融合市場研究報告》,報告顯示:2022年上半年浪潮超融合銷售額同比增長59.4%,近5倍于...
關鍵字:
IDC
BSP
數(shù)字化
數(shù)據(jù)中心
上海2022年10月18日 /美通社/ -- 2022年9月5日,是首都銀行集團成立60周年的紀念日。趁著首都銀行集團成立60周年與首都銀行(中國)在華深耕經(jīng)營12年的“大日子”,圍繞作為外資金融機構(gòu)對在華戰(zhàn)略的構(gòu)想和業(yè)...
關鍵字:
數(shù)字化
BSP
供應鏈
控制
東京2022年10月18日 /美通社/ -- NIPPON EXPRESS HOLDINGS株式會社(NIPPON EXPRESS HOLDINGS, INC.)旗下集團公司上海通運國際物流有限公司(Nipp...
關鍵字:
溫控
精密儀器
半導體制造
BSP
廣州2022年10月18日 /美通社/ -- 10月15日,第 132 屆中國進出口商品交易會("廣交會")于"云端"開幕。本屆廣交會上高新技術(shù)企業(yè)云集,展出的智能產(chǎn)品超過140,...
關鍵字:
中國智造
BSP
手機
CAN
要問機器人公司哪家強,波士頓動力絕對是其中的佼佼者。近來年該公司在機器人研發(fā)方面獲得的一些成果令人印象深刻,比如其開發(fā)的機器人會后空翻,自主爬樓梯等。這不,波士頓動力又發(fā)布了其機器人組團跳男團舞的新視頻,表演的機器人包括...
關鍵字:
機器人
BSP
工業(yè)機器人
現(xiàn)代汽車
南京2022年10月17日 /美通社/ -- 日前《2022第三屆中國高端家電品牌G50峰會》于浙江寧波落幕,來自兩百余名行業(yè)大咖、專家學者共同探討了在形勢依然嚴峻的當下,如何以科技創(chuàng)新、高端化轉(zhuǎn)型等手段,幫助...
關鍵字:
LINK
AI
BSP
智能家電
SAIHUB CAB 025M成功獲得安全試驗所UL美國與加拿大認證證書 新加坡2022年10月17日 /美通社/ -- SAI.TECH Global Corporation("SAI.TECH"...
關鍵字:
AI
BSP
PS
清潔能源
鄭州2022年10月17日 /美通社/ -- 近日,《福布斯》發(fā)布了"2022年全球最佳雇主榜單"(The World's Best Employers 2022),中國平安再度上榜并排名全...
關鍵字:
福布斯
ST
TI
BSP
通過第二項3nm設計選用擴展技術(shù)領先地位 第三季度強勁的貿(mào)易和設計選用反映出我們結(jié)合了IP和定制硅的混合業(yè)務模式 自2022年9月1日起,OpenFive首次并入集團 盡管宏觀環(huán)境困難,但管理層仍對業(yè)務...
關鍵字:
BSP
ALPHA
PEN
Silicon
歐洲藥品管理局人用藥品管理委員會 (CHMP) 的積極建議是基于 EFFISAYIL® 1 研究結(jié)果,該研究是針對泛發(fā)性膿皰型銀屑病 (GPP) 發(fā)作患者的最大的臨床研究[1] 與斑塊狀銀屑病不同,GP...
關鍵字:
HM
BSP
GP
FOR
流體動壓滑動軸承為風機發(fā)展書寫嶄新篇章 軸承滑動層增材制造與精加工為工業(yè)級大規(guī)模生產(chǎn)鋪平道路 軸承設計從綜合性系統(tǒng)理念出發(fā) 德國施韋因富特和漢堡2022年10月17日 /美通社/ -- 舍弗勒推出了采...
關鍵字:
齒輪箱
滑動軸承
風力渦輪機
BSP
上海2022年10月17日 /美通社/ -- Brother內(nèi)置墨倉彩色噴墨一體機DCP-C421W新上市。此次Brother創(chuàng)新引入"按需打印,按頁付費"...
關鍵字:
DC
打印機
BSP
DESIGN
慕尼黑2022年10月17日 /美通社/ -- TUV南德意志集團(以下簡稱"TUV南德")在EcoVadis全球企業(yè)社會責任評級中以總分71分榮獲金獎。...
關鍵字:
OV
ADIS
BSP
COM
上海2022年10月17日 /美通社/ -- 10月12日,"華東理工大學-珀金埃爾默化工青年教師獎教金"儀式圓滿舉行。華東理工大學副校長閻海峰,珀金埃爾默全球副總裁、大中華區(qū)銷售與服務總經(jīng)...
關鍵字:
BSP
核心技術(shù)
如果獲批,百悅澤 ®將成為歐盟地區(qū)獲批用于慢性淋巴細胞白血病治療的布魯頓氏酪氨酸激酶(BTK)抑制劑中唯一在頭對頭試驗中較標準治療獲得優(yōu)效性的藥物 憑借較標準治療顯著更低的房顫和房撲發(fā)生率 ...
關鍵字:
神州
BSP
EMI
CAN