Конвертировать из шестнадцатеричного в двоичный C ++ - PullRequest
1 голос
/ 29 ноября 2009

Этот тип строится на Уже заданный вопрос ... Однако здесь, скажем, мне дают шестнадцатеричный ввод, который может быть максимумом «0xFFFF» Мне нужно, чтобы он был преобразован в двоичный файл, чтобы в итоге я получил максимум 16 бит.

Мне было интересно, если бы использовать 'bitset', это было бы довольно просто ... Есть идеи?

РЕДАКТИРОВАТЬ:

После получения ответов, импровизированный фрагмент кода здесь: http://pastebin.com/f7a6f0a69

1 Ответ

6 голосов
/ 29 ноября 2009

Предположим, под "шестнадцатеричным вводом" вы подразумеваете строку, содержащую шестнадцатеричное число, тогда это будет работать:

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";
...