C语言 4字节(16进制)转换成浮点数的问题

如题所述

unsigned char * b = (unsigned char*)&a; 指针b, 指向a的首地址。怎么算出来的:从传感器传过来的CD CC CC 41, 小端码的话,四个字节内容 变化 为 0x41cccccd转 float 为 25.6。你可以 自己 用 联合体 研究:union U{float v;unsigned char c[4];unsigned int i;}uu; main(){ uu.c[0]=0xcd;uu.c[1]=0xcc;uu.c[2]=0xcc;uu.c[3]=0x41; printf(" %f %x",uu.v,uu.i);}C语言 4字节(16进制)转换成浮点数的问题
温馨提示:答案为网友推荐,仅供参考
第1个回答  2017-11-03
最简单的方法,先将16进制数写成2进制数,再转化为10进制数。由于16是2的4次方,所以每个16进制数上的每一位,可以写成4位的2进制数 比如: 1ABC=0001 1010 1011 1100 再转换为10进制本回答被网友采纳
相似回答