国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

PIC單片機浮點數與十進制數之間的轉換

發布時間:2010-8-5 15:39    發布者:lavida
關鍵詞: PIC , 單片機 , 浮點數 , 十進制
在我們設計的儀表中采用PIC系列單片機,碰到了浮點數的運算問題,查閱其有關資料發現,其浮點數的格式及其與十進制數之間的轉換,與我們常用的MCS-51單片機所提供的三字節、四字節浮點數完全不同,本文將說明其浮點數的格式及其與十進制數之間的轉換和程序設計步驟。

1 浮點數的格式

Microchip公司單片機所采用的浮點數格式是IEEE-754標準的變異型。32位浮點數格式為:


  
其中:×表示一位二進制數0或1;eb為指數的偏差;S為浮點數的符號位,S=0為正數,S=1為負數;小數點“·”在符號位S的右邊;BY0BY1BY2為尾數的小數部分。  

應特別注意:

⑴浮點數隱含其整數部分為1。

⑵十進制數0的浮點數表示為00H,00H,00H,00H。

2 浮點數與十進制數之間的相互轉換

2.1 十進制數轉換成浮點數

設:十進數為A,則2Z=A,Z=lnA/ln2,指數P=int(z);尾數部分X:X=A/2P,其整數部分隱含為1(零除外),將其小數部分按原碼格式化為二進制數,即為尾數的小數部分BY0BY1BY2。而指數偏差eb=P+7FH(其中的7FH為指數的偏移量)。符號位S,視十進制數的正負而確定。

例如十進制數50.265化為32位規格化浮點數:A=50.265,則Z=ln50.265/ln2,P=int(Z),故P=5;X=A/2P=50.265/25=1.57078125,將0.57078125化為23位二進制小數,即是BY0BY1BY2,在最高位添上十進制數的符號位S(因十進制數為正數,故S=0);而eb=P+7FH,所以,十進制數50.265的32位規格化浮點數即為84H,49H,0FH,5CH。

2.2 浮點數轉換為十進制數

設浮點數為ebS.BY0BY1BY2。由于浮點數隱含尾數的整數為1,故尾數X的實際值為:

BY0BY1BY2;指數P=eb-7FH;故:十進制數

A=(-1)S×2P×X

例:32位規格化浮點數84H,49H,0FH,5CH轉換為十進制數。

符號位S=0;指數P=84H-7FH,故P=5;尾數的小數部分為49H,0FH,5CH左移一位,而尾數的整數部分隱含為1,故尾數X的實際值為:1.57078123;十進制數A=(-1)0×25×1.57078123,即A=50.265。

3 浮點數與十進制數相互轉換的程序設計

3.1 浮點數轉換為十進制數的程序設計

(1)檢測浮點數是否為零;若為零,則十進制數整數部分和小數部分均為零。

(2)保存浮點數的符號位,將浮點數隱含的1置于浮點數的符號位,指數偏差eb加1,小數點移到原浮點數的符號位之前。

(3)判斷指數偏差大于7FH否?若小于等于7FH,則該進制數整數部分為零,浮點數尾數部分右移n次(注:n=7FH-指數偏差eb),即求得二進制小數部分。若大于7FH,則將小數點右移n’次(注:n’=指數偏差eb-7FH),即求得二進制整數部分和小數部分。

(4)將二進制整數部分轉換為十進制整數;將二進制小數部分轉換為十進制小數。至此,完成了浮點數到十進制數的轉換。

3.2 十進制數轉換為浮點數的程序設計

(1)檢測十進制數是否為零,若為零,則浮點數置成00H,00H,00H,00H。

(2)保存十進制數的符號位,將十進制數的整數部分轉換為二進制整數,將十進制數的小數部分轉換為二進制小數(設二進制整數為三個字節,二進制小數為兩個字節)。

(3)將浮點數的指數偏差eb置為7FH+23,檢測二進制整數的最高位是否為1,不是,則將二進制整數和二進制小數聯合左移,左移一次,指數偏差減1,直至二進制整數的最高位為1;隱含尾數整數的1,將二進制整數的最高位改為數的符號位。至此,指數偏差eb單元及原二進制整數的三個單元中的內容,即構成四字節浮點數。

最后應該指出,本文所述32位浮點數,精度相當于7位十進制數;32位浮點數運算程序在Microchip公司提供的有關資料中均有,但是,在調試其浮點子程序時,發現0減0的結果為00H,80H,00H,00H,而不是00H,00H,00H,00H,編程時應注意。

4 結語

本文中的十進制數與浮點數之間相互轉換的程序設計,在智能化儀表的鍵盤置數及數據顯示中,具有實用價值。這里提出了一種設計思路,沒有復雜的算法,程序設計亦較簡單,工作量較少,可利用Microchip公司提供的現成子程序實現十進制整數與二進制整數的相互轉換,十進制小數與二進制小數的相互轉換。
本文地址:http://m.qingdxww.cn/thread-19504-1-1.html     【打印本頁】

本站部分文章為轉載或網友發布,目的在于傳遞和分享信息,并不代表本網贊同其觀點和對其真實性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問題,我們將根據著作權人的要求,第一時間更正或刪除。
您需要登錄后才可以發表評論 登錄 | 立即注冊

廠商推薦

  • Microchip視頻專區
  • 使用SAM-IoT Wx v2開發板演示AWS IoT Core應用程序
  • 使用Harmony3加速TCP/IP應用的開發培訓教程
  • 集成高級模擬外設的PIC18F-Q71家族介紹培訓教程
  • 探索PIC16F13145 MCU系列——快速概覽
  • 貿澤電子(Mouser)專區

相關在線工具

相關視頻

關于我們  -  服務條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯系我們
電子工程網 © 版權所有   京ICP備16069177號 | 京公網安備11010502021702
快速回復 返回頂部 返回列表
主站蜘蛛池模板: 精品一区精品二区 | 欧美一区2区三区4区公司二百 | 最近中文字幕2019 | 日韩欧美一区二区三区免费看 | 国产精品成人久久久久久久 | 中文字幕乱码人成乱码在线视频 | 特级毛片aaa免费版 特级毛片aaaa免费观看 | 久久国产香蕉 | 美女视频永久黄网站免费观看国产 | 中文字幕一区二区在线视频 | 欧美激情一区二区三区不卡 | 九九线精品视频 | 日产精品1卡二卡三卡乱码在线 | 中文字幕一区二区在线观看 | 91亚洲精品 | 国产成人精品曰本亚洲 | 欧美精品成人一区二区在线观看 | 亚洲三级在线 | 国产成人午夜极速观看 | 黄a 大片a v 永久免费 | 四虎永久网址在线观看 | 国产中文字幕亚洲 | 久久久综合香蕉尹人综合网 | 韩国免费a级毛片 | 日本激情视频一区二区三区 | 久草视频网 | 欧美人与动欧交视频 | 国内精品在线观看视频 | 中文字幕日本在线观看 | 国产精品揄拍100视频 | 一级片免费在线观看 | 久久99久久99小草精品免视看 | 日本精品久久久久中文字幕 | 看黄网站在线播放 | 羞羞视频在线免费观看 | 日韩欧美一区二区不卡 | 亚洲国产欧美日韩 | 欧美国产日韩一区二区三区 | 国产日韩一区二区三区在线观看 | 欧美日韩精品一区二区在线播放 | 国产99网站 |