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

È stato utile?

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
scroll top