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

 我来答
赫清竹鲁昭
2020-04-08 · TA获得超过3.7万个赞
知道大有可为答主
回答量:1.4万
采纳率:30%
帮助的人:924万
展开全部
问题1,3楼上已经解答很清楚了
回答第二个问题:
浮点数定义的存储格式:(来自百科)
单精度浮点数(single)
用来表示带有小数部分的实数,一般用于科学计算。
占用4个字节(32位)存储空间,包括符号位1位,阶码8位,尾数23位。其数值范围为-3.4e38~3.4e38,单精度浮点数最多有7位十进制有效数字,单精度浮点数的指数用“e”或“e”表示。
单精度浮点数有多种表示形式:±n.n(小数形式)
±n
e
±m(指数形式)
±n.n
e
±m
(指数形式)
如果某个数的有效数字位数超过7位,当把它定义为单精度变量时,超出的部分会自动四舍五入。
应该是传感器得到的是浮点数,通过4个字节读取出来,需要按原格式转换为浮点数形式.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
莱爱景闭霜
2020-04-06 · TA获得超过3.7万个赞
知道大有可为答主
回答量:1.4万
采纳率:32%
帮助的人:852万
展开全部
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进制
)转换成
浮点数
的问题
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式