因实验需要,读取陀螺仪的数据是16进制的数据,需要将该数据转化为10进制方便自己查看,理解。记录如下:
1.将(32位)16进制IEEE-754标准浮点数就是用十六进制表示浮点,称为单精度浮点数。
float类型在内存中占4个字节(32位),最高位用于表示符号;在剩下的31位中,从右向左了8位用于表示指数,其余用于表示尾数。(一个字节是8位)
对应关系如下:
符号位 指数位 尾数位
1位 8位 23位
举例:(1)IEEE-754标准浮点数表示为 404FC593 H(H表示是16进制;)
(2)已知一个数为2.5,IEEE-754标准浮点数表示为 40200000H。
16进制浮点数与十进制的转化步骤:
1、转换为二进制 0 10000000 10011111100010110010011
2、其第0位 为符号位,为0则表示正数,反之1为复数,其读数值用 s 表示;
3、第1~8位为幂数,其读数值用 e 表示;
4、第9~31位共23位作为系数,视为二进制纯小数,假定该小数的十进制值为 x ;
则按照规定,该浮点数的值用十进制表示为:= (-1)^s * (1 + x) * 2^(e - 127)
这篇博客详细介绍了如何将32位16进制的IEEE-754标准浮点数转换为10进制。通过步骤解释了符号位、指数位和尾数位的含义,并提供了具体的计算示例,包括转换为二进制、计算指数和系数,最终得出十进制表示。还涉及到C语言中的位运算和数据类型范围。
订阅专栏 解锁全文
3921

被折叠的 条评论
为什么被折叠?



