浮点数 与 16进制 相互转换

18 篇文章 0 订阅
/*
 * @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);
}

  • 2
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值