/*
* @brief 浮点型 转换成 16进制 默认小端排列
* @param val in 浮点数
* @param hex out 16进制数
* @return
*/
void float_to_hex(const float& val, char hex[4])
{
const char *p = (char*)(&val);
hex[0] = *((char*)p);
hex[1] = *((char*)(p + 1));
hex[2] = *((char*)(p + 2));
hex[3] = *((char*)(p + 3));
}
/*
* @brief 16进制 转化为 浮点型
* @param
* @return
*/
void hex_to_float(const char hex[4], float& val)
{
char* p = (char*)(&val);
*p = hex[0];
*(p+1) = hex[1];
*(p+2) = hex[2];
*(p+3) = hex[3];
}
int main(int argc, char* argv[])
{
float a = 12.4;
char hex[4];
float_to_hex(a, hex);
float c = 0;
hex_to_float(hex, c);
}
浮点数 与 16进制 相互转换
最新推荐文章于 2024-08-09 11:40:47 发布