浮点型参数怎么存到存储器里?

来源:百度知道 编辑:UC知道 时间:2024/06/07 08:12:02
用的是单片机和24c512,说具体怎么操作就行,用到什么函数写写。谢谢了

一般我更喜欢用共用体:

//声明共用体
union _UnFloat
{
unsigned char byData[4];
float fData;
}unFloat;

//保存到存储器:
float Data = 123.456789;//浮点数
unFloat.fData = Data;//浮点数赋值给共用体
//然后unFloat.byData[0]、unFloat.byData[1]、unFloat.byData[2]、unFloat.byData[3]就分别是浮点数4个字节的内容了,把这四个字节写入存储器就可以了。

//从存储器中读出浮点数据
unFloat.byData[0] = 读存储器中浮点数保存的第一个字节;
unFloat.byData[1] = 读存储器中浮点数保存的第二个字节;
unFloat.byData[2] = 读存储器中浮点数保存的第三个字节;
unFloat.byData[3] = 读存储器中浮点数保存的第四个字节;

float Data = unFloat.fData;//这个就是存储器中保存的浮点数了

实际应用中一般保存到存储器或者RS232、RS485传输等,我都使用这种方式,比较方便。

浮点数占四个字节,得到其指针,并强制转换成char*,然后往24c512中连续写入四个字节就可以了,因为浮点数在RAM中是连续存储的。

浮点数占四个字节,得到其指针,并强制转换成char*,然后往24c512中连续写入四个字节