wuzhixuan 发表于 2024-4-23 23:31

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

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]
查看完整版本: 辉芒微 int 转float 问题请教大佬们