将IEEE—754的十六进制转化为十进制浮点类型,用C或C++都行,多谢各位大侠啊,非常感谢!
不是那种普通的十六进制转换为十进制。要的结果是,比如49E48E68转化的正确结果是1872333,谢谢大侠!能不能提供源码或者算法啊,最好是把算法用C或者C++写出来!...
不是那种普通的十六进制转换为十进制。要的结果是,比如49E48E68转化的正确结果是1872333,谢谢大侠!
能不能提供源码或者算法啊,最好是把算法用C或者C++写出来! 展开
能不能提供源码或者算法啊,最好是把算法用C或者C++写出来! 展开
1个回答
展开全部
#include <stdio.h>
int main()
{
int a=0x49E48E68;
float b=*(float*)&a;
printf("%f\n",b);
return 0;
}
结果:
1872333.000000
请按任意键继续. . .
int main()
{
int a=0x49E48E68;
float b=*(float*)&a;
printf("%f\n",b);
return 0;
}
结果:
1872333.000000
请按任意键继续. . .
追问
大侠,能提供算法吗,C语言的,就是写个函数,不用编译器自带的这种!还有就是float b=*(float*)&a; 和float b=(float)a;有什么区别吗?呵呵,大侠不要见笑啊
追答
这点玩意还谈不上算法
弄个函数f()
#include
float f(int x)
{
return *(float*)&x;
}
int main()
{
int a=0x49E48E68;
printf("%f\n",f(a));
return 0;
}
float b=*(float*)&a; //这个是物理转换,把a所在的内存空间的值当作float解释
float b=(float)a; //这个是逻辑转换,简单的去掉小数部分
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询