標題:
在EEPROM中保存浮點數(shù)的方法
[打印本頁]
作者:
51黑黑黑
時間:
2016-2-12 19:16
標題:
在EEPROM中保存浮點數(shù)的方法
最近一個項目,需要在EEPROM中保存浮點數(shù),于是想到浮點數(shù)占四個字節(jié),直接移位,發(fā)現(xiàn)得到的char型是0,看來這個方法不可行。搜索論壇,高人提議用聯(lián)合體來解決,聯(lián)合體看似與結(jié)構(gòu)體相似,其不同之處在于結(jié)構(gòu)體中每個變量占用不同的內(nèi)存,而聯(lián)合體共用一段內(nèi)存,這就給保存浮點數(shù)提供了極大的便利。比如我要保存一個浮點數(shù)a,我定義一個聯(lián)合體
union
{
float x;
uchar s[4];
}F32_Sep;
然后把a的值賦給F32_Sep.x,這樣一來其實s[0]對應(yīng)了浮點數(shù)的最高位,s[3]對應(yīng)其最低位,因此,保存到EEPROM中只需將s[0]~s[3]即可。
歡迎光臨 (http://www.torrancerestoration.com/bbs/)
Powered by Discuz! X3.1