Конвертировать из шестнадцатеричного в двоичный C ++
Вопрос
Этот тип основан на уже заданном вопросе ... Однако здесь, скажем, мне дают шестнадцатеричный ввод, который может быть максимумом «0xFFFF» Мне нужно, чтобы он был преобразован в двоичный файл, чтобы в итоге я получил максимум 16 бит.
Мне было интересно, если бы с помощью 'bitset' это было бы довольно просто ... Есть идеи?
РЕДАКТИРОВАТЬ:
После получения ответов, импровизированный фрагмент кода здесь: http://pastebin.com/f7a6f0a69
Решение
Предположим, что "шестнадцатеричный ввод" Вы имеете в виду строку, содержащую шестнадцатеричное число, тогда это будет работать:
const char* const str = "0xFFFF";
std::istringstream iss(str);
int i;
iss >> std::hex >> i;
if(!iss && !iss.eof()) throw "dammit!";
std::cout << '"' << str << "\": " << i << "(0x" << std::hex << i << ")\n";
Не связан с StackOverflow