辉芒微 int 转float 问题请教大佬们
volatile int a = 180;volatile float b = 0;
b = (float) a;
打断点显示 b=433400; 这个是什么原因呀,大佬们 (a) 这样写看看。 调试器显示的不是浮点数的小数值而是这个浮点数对应的16进制值吧,不过差了2个0
本帖最后由 xch 于 2024-4-24 12:36 编辑
你这个问题有点闲扯蛋。
180 这个数的 单精度浮点格式 以 Big Endian 模式存储就是43 34 00 00;
并非b =43 34 00 00; 而是 b 变量地址存放
的数据序列。
你抄漏了一个字节。
你干啥在辉芒微上使float ,float 一般不建议在这种8位RISC上用吧 没问题,你让变量按照float显示就是180了
PIC的单片机开发的IDE默认是24位的float,辉芒微的是否是PIC系的兼容品?
页:
[1]