電子開發網

電子開發網電子設計 | 電子開發網Rss 2.0 會員中心 會員注冊
搜索: 您現在的位置: 電子開發網 >> 電子開發 >> EDA開發應用 >> Keilc >> 正文

KeilC中如何得到一個浮點數的組成數

作者:佚名    文章來源:本站原創    點擊數:    更新時間:2012-5-20
      筆者在編制應用程序時有這樣的要求:將運算的結果(浮點數)存入 EEPROM 中。我們知道,浮點數在 C語言中是以 IEEE 格式存儲的,一個浮點數占用四個字節,例如浮點數 34.526 存為(160,26,10,66)這四個數。要將一個浮點數存入 EEPROM,實際上就是要存這四個數。那么如何在程序中得到一個浮點數的組成數呢?
 
       浮點數在存儲時,是存儲連續的字節中的,只要設法找到存儲位置,就可以得到這些數了。可以定義一個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<4;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<4;i++)
 
{ *((char *)pf+i)=*(px+i);
 
}
 
}

Tags:得到一個浮點數,浮點數  
責任編輯:admin
  • 上一篇文章:
  • 下一篇文章: 沒有了
  • 相關文章列表
    沒有相關文章
    請文明參與討論,禁止漫罵攻擊,不要惡意評論、違禁詞語。 昵稱:
    1分 2分 3分 4分 5分

    還可以輸入 200 個字
    [ 查看全部 ] 網友評論
    推薦文章
    最新推薦
    熱門文章
    關于我們 - 聯系我們 - 廣告服務 - 友情鏈接 - 網站地圖 - 版權聲明 - 在線幫助 - 文章列表
    返回頂部
    刷新頁面
    下到頁底
    晶體管查詢
    扒开双腿猛进入免费视频黄| 国产网站在线播放| 一区二区乱子伦在线播放| 干妞网免费视频| 中文字幕一区二区三区精彩视频 | 亚洲色精品vr一区二区三区| 波多野结衣系列痴女| 免费在线一级毛片| 毛片a级毛片免费观看品善网| 国产乱人伦偷精品视频不卡| 老子影院午夜伦不卡手机| 国产一级高清视频免费看| 精品精品国产高清a级毛片| 午夜视频在线观看按摩女| 狼群视频在线观看www| 人妻免费久久久久久久了| 欧美日韩在线成人| 亚洲成A人片在线观看无码| 欧洲成人爽视频在线观看 | 大学寝室沈樵无删减| a级毛片免费完整视频| 国产精品美女一级在线观看| 88久久精品无码一区二区毛片 | 91精品国产91久久| 国产欧美日韩一区二区三区在线| 91麻豆国产在线观看| 国产欧美视频一区二区三区| 蜜桃视频在线观看免费网址入口 | 忍住北条麻妃10分钟让你中出| 久久久久亚洲AV无码专区网站| 日本成人福利视频| 久久一区二区三区99| 女同恋のレズビアンbd在线| aa级黄色毛片| 国产白嫩美女在线观看| 视频一区精品自拍| 四虎影视884aa·com| 狼群视频在线观看www| 亚洲欧美另类久久久精品能播放的| 欧美成人免费一级人片| 亚洲久热无码av中文字幕|