64,648
社区成员
发帖
与我相关
我的任务
分享
void main()
{
float y = 0.111111;
//测试方法一
string str = FloatToHex(y);
cout<<str.c_str()<<endl;
cout<<HexToFloat(str)<<endl;
//测试方法二
string str1 = FloatToHex_1(y);
cout<<str1.c_str()<<endl;
cout<<HexToFloat_1(str1)<<endl;
}
#include <iostream>
using namespace std;
//方法一
string FloatToHex(const float &f)
{
char a[10];
sprintf(a,"%x",*(long*)&f);
string temp(a);
return temp;
}
float HexToFloat(const string &str)
{
float b;
sscanf(str.c_str(), "%x", (char *)&b);
return b;
}
//方法二
string FloatToHex_1(const float &f)
{
char buff[4];
memcpy(buff, &f, 4);
string temp(buff);
return temp;
}
float HexToFloat_1(const string &str)
{
float f;
memcpy(&f, str.c_str(), str.size());
return f;
}
void main()
{
float y = 0.111111;
//测试方法一
string str = FloatToHex(y);
cout<<str.c_str()<<endl;
cout<<HexToFloat(str)<<endl;
//测试方法二
string str1 = FloatToHex(y);
cout<<str1.c_str()<<endl;
cout<<HexToFloat(str1)<<endl;
}