请教float的存储问题

[复制链接]
2392|4
 楼主| chl00100 发表于 2007-8-15 20:31 | 显示全部楼层 |阅读模式
比如现在有一个float a = 0.12857,在内存中的hex为0x3E03A7DB,现在我想把0x3E03A7DB分字节存到eeprom中,应该怎样实现哪
因为a是可变的,而且变化范围在3-4个数量级,所以用乘以10^n再存的方法不太合适,有没有其他好办法呢,是不是可以利用指针实现呢,谢谢
computer00 发表于 2007-8-15 21:02 | 显示全部楼层

就一个个字节取出来啊

((unsigned char *)(&a))[0]
((unsigned char *)(&a))[1]
((unsigned char *)(&a))[2]
((unsigned char *)(&a))[3]
 楼主| chl00100 发表于 2007-8-15 22:38 | 显示全部楼层

谢谢OO

看来俺对指针还没理解透
ayb_ice 发表于 2007-8-16 08:44 | 显示全部楼层

现在理解也不迟啊...

xujunchen 发表于 2007-8-16 12:40 | 显示全部楼层

不错!用联合也可以.

union float_byte
{
 unsigned char bb[4];
 float ff;
}
您需要登录后才可以回帖 登录 | 注册

本版积分规则

18

主题

307

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部