FD-ASM51浮点数格式说明

FD-ASM51 的浮点数格式说白了就是用了 3 个字节来表示一个形如 a × 2^b 的数。头 1 个字节搞定了符号和阶码,剩下 2 个字节是尾数。你如果之前玩过 51 单片机,就知道标准库里没怎么照顾浮点数,这种自定义格式就挺方便的,省内存又快。

3 字节浮点数的结构也不复杂,拆开看看,第一字节里高位是符号位,其余的是指数,指数一般是带偏移的,这和常见的 IEEE 754 有点像但简化了不少。要注意一下浮点数和整数在内存里摆放顺序不太一样,转来转去容易出 bug。

要是你想跟串口打交道,把浮点数打包发出去,那推荐你看看这个工具,带串口调试,还顺便教你怎么把 3 字节浮点数转 4 字节格式,挺实用的。想限制输入的同学,也可以看看QLineEdit 限制浮点输入这篇。

另外还有个改进编辑控件的思路在这篇文章里,挺适合做界面交互的项目用。你如果感兴趣,还能去看看有人写的用 VBS 搞的说话软件,只要 106 字节,链接在这里,虽然和浮点关系不大,但蛮有意思的。

如果你经常在嵌入式项目里数值,又不想引入重量级库,那 FD-ASM51 这种格式确实值得一试。小巧、快,还能和串口轻松配合。别忘了调试时多打印二进制看看,挺容易出小问题的。

doc 文件大小:28KB