日韩欧美视频第二区,秋霞成人午夜鲁丝一区二区三区,美女日批视频在线观看,av在线不卡免费

電子開發(fā)網(wǎng)

電子開發(fā)網(wǎng)電子設(shè)計 | 電子開發(fā)網(wǎng)Rss 2.0 會員中心 會員注冊
搜索: 您現(xiàn)在的位置: 電子開發(fā)網(wǎng) >> 電子開發(fā) >> EDA開發(fā)應(yīng)用 >> Keilc >> 正文

KeilC中如何得到一個浮點數(shù)的組成數(shù)

作者:佚名    文章來源:本站原創(chuàng)    點擊數(shù):    更新時間:2012-5-20
      筆者在編制應(yīng)用程序時有這樣的要求:將運算的結(jié)果(浮點數(shù))存入 EEPROM 中。我們知道,浮點數(shù)在 C語言中是以 IEEE 格式存儲的,一個浮點數(shù)占用四個字節(jié),例如浮點數(shù) 34.526 存為(160,26,10,66)這四個數(shù)。要將一個浮點數(shù)存入 EEPROM,實際上就是要存這四個數(shù)。那么如何在程序中得到一個浮點數(shù)的組成數(shù)呢?
 
       浮點數(shù)在存儲時,是存儲連續(xù)的字節(jié)中的,只要設(shè)法找到存儲位置,就可以得到這些數(shù)了。可以定義一個void 的指針,將此指針指向需要存儲的浮點數(shù),然后將此指針強制轉(zhuǎn)化為 char 型,這樣,利用指針就可以得到組成該浮點數(shù)的各個字節(jié)的值了。具體程序如下:
 
#define uchar unsigned char
#define uint unsigned intvoid FtoC(void)
 
{ float a;
 
uchar i,*px
 
uchar x[4]; /*定義字符數(shù)組,準(zhǔn)備存儲浮點數(shù)的四個字節(jié)*、
 
void *pf;
 
px=x; /*px指針指向數(shù)組 x*/
 
pf=&a; /*void 型指針指向浮點數(shù)首地址*/
 
a=34.526;
 
for(i=0;i<4;i++)
 
{ *(px+i)=*((char *)pf+i); /*強制void 型指針轉(zhuǎn)成 char 型,因為*/
 
} /*void 型指針不能運算*/
 
}
 
如果已將數(shù)存入 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:得到一個浮點數(shù),浮點數(shù)  
責(zé)任編輯:admin
  • 上一篇文章:
  • 下一篇文章: 沒有了
  • 相關(guān)文章列表
    沒有相關(guān)文章
    請文明參與討論,禁止漫罵攻擊,不要惡意評論、違禁詞語。 昵稱:
    1分 2分 3分 4分 5分

    還可以輸入 200 個字
    [ 查看全部 ] 網(wǎng)友評論
    推薦文章
    最新推薦
    熱門文章
    關(guān)于我們 - 聯(lián)系我們 - 廣告服務(wù) - 友情鏈接 - 網(wǎng)站地圖 - 版權(quán)聲明 - 在線幫助 - 文章列表
    返回頂部
    刷新頁面
    下到頁底
    晶體管查詢
    主站蜘蛛池模板: 新竹县| 东兰县| 青铜峡市| 巴楚县| 辽源市| 隆安县| 珠海市| 大足县| 资阳市| 蒲江县| 磐安县| 新河县| 深圳市| 九龙城区| 三明市| 谢通门县| 仪陇县| 高阳县| 新巴尔虎右旗| 江都市| 宁明县| 乐山市| 彭阳县| 武义县| 靖西县| 墨竹工卡县| 诏安县| 台前县| 城固县| 洛川县| 阿尔山市| 海门市| 孝昌县| 临清市| 清流县| 玉龙| 荥经县| 二连浩特市| 元江| 宁德市| 民丰县|