Что-то вроде следующего?
могу изменить шестнадцатеричный символ, а не строку, в числовое значение?
При наборе этого вопроса я нашел много ответов о том, как преобразовать шестнадцатеричные строки в значения. Тем не менее, никто не работает для символов. Я помню, где-то читал, что это работает для строк:
std::string mystr = "12345";
unsigned int myval;
std::stringstream(mystr) >> std::hex >> myval;
Однако, если я сделаюmystr[x]
в цикле этот код не будет работать. Я попытался добавить новую строку сstd::string temp = mystr[x]
и меняетсяstd::stringstream(mystr)
вstd::stringstream(temp)
, но это тоже не работает.
Так как мне это сделать? В настоящее время я ищу строку шестнадцатеричных символов ("0123456789abcdef".find(mystr[x]);
) и используя индекс для значения. Однако, поскольку он выполняет поиск, он работает медленно, даже если он ищет только 16 символов.