Hephaestus 发表于 2022-7-25 17:57 主要是楼主把 66 66 7b 42 写成 66 66 42 7B 造成还原错误,数据正常后还原也正常了,62.85。 ![]() |
xuyaqi 发表于 2022-7-23 19:52 楼主都说了“66 66 42 7B”是62.85的意思,你搞个2.7e23是来搞笑的吗? |
爱马达的小电动 发表于 2022-7-24 14:38 总要把代码和报错内容贴出来吧?你什么都不说别人也都不是算命的。 |
xuyaqi 发表于 2022-7-23 19:25 非常感谢解惑 |
Hephaestus 发表于 2022-7-23 18:48 谢谢指导,这样确实可以一步到位了,还有个问题是怎么把接收到不断变化的值放到ch【】里面处理啊,我自己写的一直报错,不知道该怎么修改了 |
xuyaqi 发表于 2022-7-23 19:52 人家都举例“66 66 42 7B”的含义是62.85了,你还蒸熟的鸭子只剩下嘴硬了有意思吗? |
Hephaestus 发表于 2022-7-23 19:32 这跟对方传感器传来的数据顺序有关。 |
xuyaqi 发表于 2022-7-23 19:25 你把大小端弄反了。 |
4个字节 66 66 42 7B 转为浮点数为 2.7184266e+23,参考程序:
![]() |
根本就不用算啊!上面f=ch一句话就转过去了。以上代码用MinGW验证通过。 不过要注意的是x86本身是小端,C51编译器按大端保存超过1字节的数据,所以ch[4]里面的数据顺序要反过来。 |