最佳答案
对十六进制数字进行编码
#define HEX2BIN(D) ((('0' <= D) && (D <= '9')) ? D-'0' : (('a' <= D) && (D <= 'f')) ? D-'a'+10 : (('A' <= D) && (D <= 'F')) ? D-'A'+10 : -1)
并将其放置在高处或低处
#define NIBBLE2BYTE(HI,BYTE,NIBBLE) do { if (HI) { BYTE = ((BYTE & 0xf0) | NIBBLE<<4); HI = 0; } else { BYTE = ((BYTE & 0x0f) | NIBBLE); HI=1; } } while (0)
。现在,您最初可以使用 HI=1
循环输入和输出。测试 HEX2BIN(D) > 0
以捕获输入错误!
关于c++ - C/C++ ASCII 字符到 HEX BYTE 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36265359/