下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領
文檔簡介
浮點型數(shù)據(jù)的雙精度表示方法
0浮點數(shù)值的生成ea754是執(zhí)行浮點數(shù)的最廣泛使用的標準,使用各種cpu和浮點運算器。這個標準定義了表示浮點數(shù)的格式(包括負零-0)與反常值(denormalnumber)、一些特殊數(shù)值(無窮與非數(shù)值(NaN))以及這些數(shù)值的“浮點數(shù)運算子”。它規(guī)定了4種表示浮點數(shù)值的方式:單精確度(32位元)、雙精確度(64位元)、延伸單精確度(43位元以上,很少使用)與延伸雙精確度(79位元以上,通常以80位元實做)。其中只有32位元模式有強制要求,其他都是選擇性的。BorlandC++Builder是最知名的可視化C++應用程序開發(fā)工具之一,它易學易用的操作界面和功能強大的應用組件,可以讓程序員快速建立各種應用程序。BorlandC++Builder不僅繼承了Delphi使用簡便、功能強大、效率高等特點,而且它還結(jié)合C++語言所有的優(yōu)點。C++Builder可以說是至今最容易上手的Windows開發(fā)工具。目前可視化編程中應用IEEE處理整型數(shù)據(jù)到浮點型數(shù)據(jù)運算的研究還很少,本文側(cè)重于實現(xiàn)將8位十六進制的數(shù)據(jù)轉(zhuǎn)換成浮點型數(shù)據(jù),應用于解析Modbus中RTU格式通信所獲得的浮點型數(shù)據(jù),并編寫了上位機可視化軟件來顯示。1轉(zhuǎn)換算法的介紹1.1加快各時間點的添加浮點型數(shù)據(jù)保存的格式如表1所示。其中:S表示符號位;“1”表示負數(shù);“0”表示正數(shù);E代表偏移127的冪數(shù),二進制階碼=(EEEEEEEE)-127;M代表24位的尾數(shù),存放在23個位中,只存儲23位,最高位固定為1,此方法用最少的位數(shù)實現(xiàn)了較高的有效位數(shù),提高了精度“0”是一個特定值,冪數(shù)是0,尾數(shù)也是0。1.2六進制轉(zhuǎn)換為浮點數(shù)IEEE754標準中的浮點保存值不是一個直接的格式,要把十六進制轉(zhuǎn)換為一個浮點數(shù),必須按照表1中所示的方式進行分開。這里又分為三種情況:(1)E部分不全為0也不全為1的情況;(2)E部分全部為0的情況;(3)E部分全部為1的情況。1.2.1實際樣品的編碼以0xC1420000為例,先把0xC1420000寫成表1中所示形式,如下:由上可以看出,此數(shù)是一個負數(shù),二進制階碼=(10000010)-127=3,也就是實際的冪數(shù)。尾數(shù)是后面的二進制數(shù)10000100000000000000000,這是已存儲的23位二進制,還有一位沒有被存儲的最高位,固定為1,所以整個尾數(shù)即:110000100000000000000000則根據(jù)實際的冪數(shù),浮點型數(shù)為:1.2.2x400bcoaf的實際應用這是一種非規(guī)格化的數(shù)據(jù),此時k=1-(27-1)=-126,完整的位數(shù)部分為0MMMMMMMMM-MMMMMMMMMMMMMM。以0x800BCAEF為例,先把0x800BCAEF寫成表1中所示形式,如下:由上可以看出,此數(shù)是一個負數(shù),二進制階碼k=1-127=-126,也就是實際的冪數(shù)。尾數(shù)是后面的二進制數(shù)00010111100101011101111,這是已存儲的23位二進制,還有一位沒有被存儲的最高位,固定為1,所以整個尾數(shù)即:100010111100101011101111,則根據(jù)實際的冪數(shù),浮點型數(shù)為:1.2.3定義數(shù)的分析如果E部分全為1,則系數(shù)k=28-1=127,此時又分兩大類情況:(1)尾數(shù)是0的情況,這類情況下的數(shù)要么是正無窮大要么是負無窮大;(2)尾數(shù)不全為0的情況,根據(jù)IEEE754標準,這類情況是表示的一個沒有被定義的數(shù),也就是不存在這樣的數(shù)。結(jié)合以上三部分的分析可得出計算步驟如下:(1)先判斷十六進制數(shù)的最高位是否為1:若為1則是負數(shù),若為0則是正數(shù);(2)把該數(shù)右移23位并和0xFF相與,得到二進制數(shù)(EEEEEEEE);(3)把步驟(2)得到的二進制數(shù)(EEEEEEEE)減127得到二進制的最高位冪數(shù)(設為k);(4)把原數(shù)和0x7FFFFF相與得到不帶最高位的尾數(shù)(MMMMMMMMMMMMMMMMMMMMMMM),然后再把得到的尾數(shù)的最高數(shù)置“1”,即得到完整的尾數(shù):(1MMMMMMMMMMMMMMMMMMMMMMM);(5)在步驟(4)中得到的尾數(shù)的24位二進制數(shù)乘以2k并相加即是所求浮點數(shù)2布局表面核心構(gòu)件的屬性打開BorlandC++Builder6.0,在空白的Form1上放置5個Edit控件,2個Label控件,1個按鈕,布局Form上的控件并修改屬性,如圖1所示。軟件工作流程如圖2所示。3計算結(jié)果對比把前面舉例的數(shù)據(jù)0xC1420000進行計算,計算結(jié)果如圖3所示。可由圖3看出計算結(jié)果和第1.2.1中計算結(jié)果一致。其次再把第1.2.2部分中所舉的數(shù)據(jù)用軟件進行計算,結(jié)果如圖3所示??捎蓤D4看出,計算結(jié)果與第1.2.2部分中分析得出的結(jié)果一致。最后把第1.2.3部分中描述的情況用軟件實現(xiàn),結(jié)果如圖5所示。圖5顯示的是E部分全部為1且尾數(shù)部分不全為0的情況的計算結(jié)果。圖6上半部分顯示的是E部分全部為“1”且尾數(shù)部分全為“0”的一種計算。由于最高位為“1”,所以計算結(jié)果是負無窮大;下半部分是另外一種計算,由于最高位是“0”,所以計算結(jié)果是正無窮大。另外本文又仿真了一組Modbus協(xié)議中表示溫度的十六進制數(shù)據(jù),轉(zhuǎn)換成浮點型數(shù)據(jù),仿真結(jié)果如圖7所示。4實驗結(jié)果及分析為了驗證仿真結(jié)果的正確性,本文編寫了從浮點型數(shù)據(jù)轉(zhuǎn)換成十六進制數(shù)據(jù)的計算軟件,將之前的數(shù)據(jù)進行一一驗證,驗證結(jié)果如圖8、圖9所示。為確保本文中計算軟件的無誤計算,本文在-1000~1000之間隨機取數(shù)進行了大量的數(shù)據(jù)轉(zhuǎn)換計算實驗,并隨機記錄了10組數(shù)據(jù),如表2所示。由表2中數(shù)據(jù)仿真結(jié)果及其驗證可以看出本文中所編寫的轉(zhuǎn)換算法的精度是非常高的,能夠滿足高精度測量儀器的數(shù)據(jù)轉(zhuǎn)換使用,而且可以看出小數(shù)點后保留的位數(shù)越多得出的結(jié)果越接近原始的數(shù)據(jù)。5基于浮點型數(shù)據(jù)的轉(zhuǎn)換編程利用BorlandC++Builder6.0編程開發(fā)環(huán)境完成的十六進制整型數(shù)據(jù)轉(zhuǎn)換為浮點型數(shù)據(jù)的軟件實現(xiàn)了從整型數(shù)據(jù)到浮點型數(shù)據(jù)的轉(zhuǎn)換計算,經(jīng)過二次開發(fā)該軟件可被用于Modbus通信協(xié)議中高精度浮點型數(shù)據(jù)的傳輸打包、解析和顯示。另外,本文也完成了從浮點型數(shù)據(jù)到十
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度深基坑支護施工合同模板4篇
- 2025年度文化旅游項目投資合作合同范本4篇
- 2025年度門頭裝修工程節(jié)能評估與驗收合同范本4篇
- 2025年度網(wǎng)絡安全個人臨時雇傭合同樣本3篇
- 二零二五年度智能機器人研發(fā)制造合同模板3篇
- 2025版寵物醫(yī)院連鎖店品牌授權(quán)及門店運營合同4篇
- 2025年度木材加工企業(yè)訂單合作合同范本二零二五3篇
- 2025年度夏令營后勤保障與服務支持合同3篇
- 2025年度門窗行業(yè)供應鏈優(yōu)化與整合合同4篇
- 二零二五版農(nóng)業(yè)機械租賃市場運營管理合同2篇
- 組合結(jié)構(gòu)設計原理 第2版 課件 第6、7章 鋼-混凝土組合梁、鋼-混凝土組合剪力墻
- 建筑公司資質(zhì)常識培訓課件
- 旅居管家策劃方案
- GB/T 26316-2023市場、民意和社會調(diào)查(包括洞察與數(shù)據(jù)分析)術(shù)語和服務要求
- 春節(jié)值班安全教育培訓
- 鋰離子電池生產(chǎn)工藝流程圖
- 帶狀皰疹護理查房
- 平衡計分卡-化戰(zhàn)略為行動
- 幼兒園小班下學期期末家長會PPT模板
- 幼兒教師干預幼兒同伴沖突的行為研究 論文
- 湖南省省級溫室氣體排放清單土地利用變化和林業(yè)部分
評論
0/150
提交評論