Pregunta

Este tipo de acumulación se basa en Pregunta ya formulada ... Sin embargo, aquí, digamos, me dan una entrada hexadecimal que podría ser un máximo de '0xFFFF' Necesitaré convertirlo a binario, para terminar con un máximo de 16 bits.

Me preguntaba si usar 'bitset' sería bastante simple ... ¿Alguna idea?

EDITAR:

Después de obtener respuestas, código improvisado aquí: http://pastebin.com/f7a6f0a69

¿Fue útil?

Solución

Suponiendo por " entrada hexadecimal " te refieres a una cadena que contiene un número hexadecimal, entonces esto funcionaría:

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";
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top