Конвертировать из шестнадцатеричного в двоичный C ++

StackOverflow https://stackoverflow.com/questions/1814997

  •  06-07-2019
  •  | 
  •  

Вопрос

Этот тип основан на уже заданном вопросе ... Однако здесь, скажем, мне дают шестнадцатеричный ввод, который может быть максимумом «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";
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top