4个字节16进制数转换成十进制浮点数

vshuo7013 2016-01-21 11:45:52
例:
char p[4] = {0x1e,0x0d,0xa8,0x3c};
转换成浮点数:0.0205140
还有如何判断 这四个十六进制转换成浮点数是正数还是负数

如何用c程序实现?求教!!!
...全文
1298 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
paschen 2016-01-21
  • 打赏
  • 举报
回复

	char p[4] = { 0x1e,0x0d,0xa8,0x3c };
	float* f = (float*)p;
	//之后*f将是0.0205140673
	//之后可以直接判断*f是否大于0.0f来分别正负
ghx287524027 2016-01-21
  • 打赏
  • 举报
回复
float类型内存表示 请阅读 IEEE 754-2008 国际标准。计算机按此标准存放float数据。 数据传输和存放,涉及字节流序列。小端码和大端码 字节序列不同。
ghx287524027 2016-01-21
  • 打赏
  • 举报
回复

#include <stdio.h>
int main(void)
{

    float a=0.0f;
	unsigned char * b = (unsigned char*)&a;
	char c[4] = {0x1e,0x0d,0xa8,0x3c}; 
    int i = 0;
    //printf("b1:%d\n",b);
    for(i = 0; i<4; i++){
		b[i] = (unsigned char)c[i];
	}
	//printf("b2:%d\n",*b);
	printf("结果为:\n");
    printf("%f\n", a);
    //printf("a:%d\n",a);
}

赵4老师 2016-01-21
  • 打赏
  • 举报
回复

69,370

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧