C/C++数据转换(基础)

BCD
16进制转10进制。

10*(m/16) +m%16

10进制转16进制

16*(m/10) + m%10

浮点数转u32

uint32_t FloatToU32(float Value)
{
 uint32_t *Tr_Data;
 Tr_Data = ((uint32_t *) (&Value));
return *Tr_Data;
}
**u

u32转浮点数

float U32ToFloat(uint32_t Value)
{
 float *Tr_Data;
Tr_Data = ((float *) (&Value));
return *Tr_Data;
}

u16转10进制

u16 uiVerHexToDec(u16 uiHexVal)
{
  u16 uiDecVal;
  uiDecVal  = ((uiHexVal&0xF000)>>12)*1000;
  uiDecVal += ((uiHexVal&0x0F00)>>8)*100;
  uiDecVal += ((uiHexVal&0x00F0)>>4)*10;
  uiDecVal += (uiHexVal&0x000F)
  return uiDecVal;
}

16进制转10进制

u8 BCD_TO_DEC(u8 bcd)
{
 u8 Decimal;
 Decimal=bcd>>4;
 return(Decimal=Decimal*10+(bcd&=0x0F));
}

10进制转16进制

u16 DEC_TO_BCD(u16 data)
{
    u16 temp;
    temp = (((data/10)<<4) + (data%10));
    return temp;
}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值