[MCU] 辉芒微 int 转float 问题请教大佬们

[复制链接]
3257|6
 楼主| wuzhixuan 发表于 2024-4-23 23:31 | 显示全部楼层 |阅读模式
volatile int a = 180;
volatile float b = 0;

b = (float) a;

打断点显示 b=433400; 这个是什么原因呀,大佬们
昨天 发表于 2024-4-24 08:18 | 显示全部楼层
(a)   这样写看看。
yuyy1989 发表于 2024-4-24 08:57 | 显示全部楼层
调试器显示的不是浮点数的小数值而是这个浮点数对应的16进制值吧,不过差了2个0

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
xch 发表于 2024-4-24 12:33 | 显示全部楼层
本帖最后由 xch 于 2024-4-24 12:36 编辑

你这个问题有点闲扯蛋。

180 这个数的 单精度浮点格式 以 Big Endian 模式存储就是43 34 00 00;
并非b =  43 34 00 00; 而是 b 变量地址存放
的数据序列。
你抄漏了一个字节。
尹小舟 发表于 2024-4-24 16:00 | 显示全部楼层
你干啥在辉芒微上使float ,float 一般不建议在这种8位RISC上用吧
zchong 发表于 2024-4-24 19:16 | 显示全部楼层
没问题,你让变量按照float显示就是180了
wwkkww1983 发表于 2024-4-24 21:56 | 显示全部楼层
PIC的单片机开发的IDE默认是24位的float,辉芒微的是否是PIC系的兼容品?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

3

帖子

0

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