数据转换

[复制链接]
40|9
 楼主 | 2018-11-6 18:38 | 显示全部楼层 |阅读模式

比如说我接收过来的数据16进制32位的43FA0000,此数据符合IEEE574浮点数标准
我把这个数据如果赋值给单片机一个float变量的话,是不是就是浮点数500.00呢?
| 2018-11-6 18:44 | 显示全部楼层
等下,我算下啊
 楼主 | 2018-11-6 18:47 | 显示全部楼层
那如果我把这个数赋值给一个无符号32位整数的话,是不是就是整数10进制的1140457472呢
 楼主 | 2018-11-6 18:54 | 显示全部楼层

16进制32位的43FA0000换算为10进制是1140457472
| 2018-11-6 18:57 | 显示全部楼层
是51吗
 楼主 | 2018-11-6 19:00 | 显示全部楼层
嗯,编译环境是Keil 4,是51单片机!

比如:
float x;
unsigned long y,z;
/*假设z保存的是我单片机接收过来的数据16进制32位的43FA0000,此数据符合IEEE574浮点数标准*/
/*那么执行如下操作后*/
x=z;
y=z;
//x是不是就自动为浮点数500.00?
//y是不是就是10进制1140457472
| 2018-11-6 19:06 | 显示全部楼层
目测你应该是没错的啊
| 2018-11-6 19:12 | 显示全部楼层
可以仿真用观察窗口看一看。
| 2018-11-6 19:16 | 显示全部楼层
将地址强制转换成浮点数指针即可
 楼主 | 2018-11-6 19:22 | 显示全部楼层
其实还是不大明白,我再琢磨琢磨吧,多谢了哈,结贴了先
扫描二维码,随时随地手机跟帖
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复

您需要登录后才可以回帖
登录 | 注册
高级模式
我要创建版块 申请成为版主

论坛热帖

快速回复 返回顶部 返回列表