浮点数用十六进制表示;我这里遇到的问题是知道数值,但需要把数值发送到上位机里显示波形,但是上位机是以浮点数的存储格式来解析的,但是我的单片机不支持float类型,所以我的需求是把已知的数值看做是浮点数,然后把该数值以浮点数的存储方式存储到另外的一个变量,所以我的代码是把已知的数值用浮点数的存储方式表示出来,或者说是计算已知数值的浮点数值。
举例:已知一个数为12,他的浮点数表示为 41400000h,我的目的就是把通过12计算出41400000h。
先说明下浮点数的存储原理,是网上别人写的,找不到连接了,把他说的先放前面
在二进制文件中,存储数据的格式为16进制,
下面举例说明27.0f在二进制文件中怎么表示。
float
共计32位,折合4字节
由最高到最低位分别是第31、30、29、……、0位
31位是符号位,1表示该数为负,0反之。
30-23位,一共8位是指数位。
22-0位,一共23位是尾数位。
每8位分为一组,分成4组,分别是A组、B组、C组、D组。
每一组是一个字节,在内存中逆序存储,即:D