Converti da C ++ esadecimale a binario
Domanda
Questo tipo di build si basa su Domanda già fatta ... Comunque qui, diciamo, mi viene dato un input esadecimale che potrebbe essere un massimo di '0xFFFF' Ne avrò bisogno convertito in binario, in modo da finire con un massimo di 16 bit.
Mi chiedevo se usare 'bitset' sarebbe stato abbastanza semplice .. Qualche idea?
MODIFICA:
Dopo aver ricevuto le risposte, parte di codice improvvisato qui: http://pastebin.com/f7a6f0a69
Soluzione
Supponendo "input esadecimale" intendi una stringa contenente un numero esadecimale, quindi funzionerebbe:
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";
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow