怎样使得两个ASCII码字符转换为一个字节16进制数据

2019-07-15 15:26发布

如:ASCII码   ‘A’,‘C’,如何使得该两个字符转换成0xAC,谢谢!
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
3条回答
mioc
2019-07-15 20:33
#include <stdio.h>
#include <stdlib.h>

//ASCII码   ‘A’,‘C’,如何使得该两个字符转换成0xAC

//按照你的要求,应该只能输入ABCDEF这个六个英文汉字

unsigned char change(unsigned char a,unsigned char b)
{
        unsigned char ucTmp = 0x00;
        
        if( ( (a >= 'A') && (a <= 'F') )&& ( (b >= 'A') && (b <= 'F') ) )
        {
                ucTmp = (a - 'A' + 10 << 4) | (b - 'A' + 10 << 0);
        }
        
        if( ( (a >= 'a') && (a <= 'f') )&& ( (b >= 'a') && (b <= 'f') ) )
        {
                ucTmp = (a - 'a' + 10 << 4) | (b - 'f' + 10 << 0);
        }
        
        printf("0x%02x",(int)ucTmp);
        
        return ucTmp;
}

int main()
{
        change('A','D');
        system("pause");
        return 0;
}

一周热门 更多>