Ascii与Hex互转

这篇博客介绍了两个C语言函数,用于ASCII字符到十六进制和十六进制数值到ASCII字符串的转换。`AsciiToHex`函数将ASCII字符转换为对应的十六进制数字,而`HexToAsii`函数将16位整数转换为ASCII表示的字符串,包括负数处理。
部署运行你感兴趣的模型镜像


uint8_t AsciiToHex(uint8_t cNum)
{
    if(cNum>='0'&&cNum<='9')
    {
         cNum -= '0';
    }
    else if(cNum>='A'&&cNum<='F')
    {
         cNum -= 'A';
         cNum += 10;
    }
    else if(cNum>='a'&&cNum<='f')
    {
         cNum -= 'a';
         cNum += 10;
    }
    return cNum;
}


uint8_t HexToAsii(int16_t val, uint8_t *pbuf)
{
int16_t val_temp=0;
uint8_t dat_len=0;
val_temp=val;
if( val<0 )
{
val_temp=~val_temp;
val_temp+=1;
pbuf[0]='-';
dat_len++;
}
if( (val_temp/10000) != 0 )
{
pbuf[dat_len++]=val_temp/10000+'0';
pbuf[dat_len++]=(val_temp/1000)%10+'0';
pbuf[dat_len++]=(val_temp/100)%10+'0';
pbuf[dat_len++]=(val_temp/10)%10+'0';
pbuf[dat_len++]=val_temp%10+'0';
}
else if( (val_temp/1000)%10 != 0 )
{
pbuf[dat_len++]=(val_temp/1000)%10+'0';
pbuf[dat_len++]=(val_temp/100)%10+'0';
pbuf[dat_len++]=(val_temp/10)%10+'0';
pbuf[dat_len++]=val_temp%10+'0';
}
else if( (val_temp/100)%10 != 0  )
{
pbuf[dat_len++]=(val_temp/100)%10+'0';
pbuf[dat_len++]=(val_temp/10)%10+'0';
pbuf[dat_len++]=val_temp%10+'0';
}
else if( (val_temp/10)%10 != 0 )
{
pbuf[dat_len++]=(val_temp/10)%10+'0';
pbuf[dat_len++]=val_temp%10+'0';
}
else
{
pbuf[dat_len++]=val_temp%10+'0';
}
return dat_len;
}


您可能感兴趣的与本文相关的镜像

Stable-Diffusion-3.5

Stable-Diffusion-3.5

图片生成
Stable-Diffusion

Stable Diffusion 3.5 (SD 3.5) 是由 Stability AI 推出的新一代文本到图像生成模型,相比 3.0 版本,它提升了图像质量、运行速度和硬件效率

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值