国产精品免费无遮挡无码永久视频-国产高潮视频在线观看-精品久久国产字幕高潮-国产精品99精品无码视亚

如何在程序中得到一個浮點數的組成數

發布時間:2010-7-24 21:03    發布者:lavida
關鍵詞: 程序 , 浮點數 , 組成數
筆者在編制應用程序時有這樣的要求:將運算的結果(浮點數)存入EEPROM中。我們知道,浮點數在C語言中是以IEEE格式存儲的,一個浮點數占用四個字節,例如浮點數34.526存為(160,26,10,66)這四個數。要將一個浮點數存入EEPROM,實際上就是要存這四個數。那么如何在程序中得到一個浮點數的組成數呢?

浮點數在存儲時,是存儲連續的字節中的,只要設法找到存儲位置,就可以得到這些數了?梢远x一個void的指針,將此指針指向需要存儲的浮點數,然后將此指針強制轉化為char型,這樣,利用指針就可以得到組成該浮點數的各個字節的值了。具體程序如下:  

#define uchar unsigned char#define uint unsigned intvoid FtoC(void)  
{ float a ;  
uchar i,*px  
uchar x[4] ; /*定義字符數組,準備存儲浮點數的四個字節*、  
void *pf ;  
px=x ; /*px指針指向數組x*/  
pf=&a ; /*void 型指針指向浮點數首地址*/  
a=34.526 ;  
for(i=0 ;i{ *(px+i)=*((char *)pf+i) ; /*強制void 型指針轉成char型,因為*/  
} /*void型指針不能運算*/  
}  

如果已將數存入EEPROM,要將其取出合并,方法也是一樣,可參考下面的程序。  

#define uchar unsigned char#define uint unsigned int  
void CtoF(void)  
{ float a ;  
uchar i,*px  
uchar x[4]={56,180,150,73} ;  
void *pf ;  
px=x ;  
pf=&a ;  
for(i=0 ;i{ *((char *)pf+i)=*(px+i) ;  
}  
}
本文地址:http://m.4huy16.com/thread-16664-1-1.html     【打印本頁】

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

廠商推薦

  • Microchip視頻專區
  • 電動兩輪車設計生態系統
  • 常見深度學習模型介紹及應用培訓教程
  • Microchip第22屆中國技術精英年會——采訪篇
  • “芯”光璀璨,鵬城共賞——2025 Microchip中國技術精英年會深圳站回顧
  • 貿澤電子(Mouser)專區

相關視頻

關于我們  -  服務條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯系我們
電子工程網 © 版權所有   京ICP備16069177號 | 京公網安備11010502021702
快速回復 返回頂部 返回列表