我正在尝试将Char转换为十六进制,例如我在char中使用'f'我想要将其转换为0xf,或者如果我有'9'应该转换为0x9。 目前我正在这样做
if(char_array[i]>=0x0A)
Hex_array[i] =( char_array[i] - 0x09) | 040;
else
Hex_array[i] = (char_array[i] | 0x30);
但它仅适用于低于'9'的值。
答案 0 :(得分:0)
值0x40
是八进制,但您的代码可以使用 if(char_array[i]>=0x0A)
Hex_array[i] =( char_array[i] - 0x09) | 0x40;
else
Hex_array[i] = (char_array[i] | 0x30);
(十六进制)
if ((char_array[i]>0x09) && (char_array[i]<0x10))
Hex_array[i] =( char_array[i] - 0x0A) + 'A';
else if ((char_array[i]>=0x00) && (char_array[i]<0x0A))
Hex_array[i] = (char_array[i] + '0');
为了提高代码的可读性,可以使用char literal
std::function