Come inserisco uno spazio tra ogni quattro caratteri in questo output?

Sto scrivendo un programma in cui devo visualizzare rappresentazioni binarie di vari tipi di dati. Ho bisogno dell’output binario per avere uno spazio dopo ogni quattro numeri. Per esempio:

0011 1111 1000 1110 1011 1000 0101 0010 

Di seguito è riportato un esempio di una funzione che sto usando per visualizzare il codice binario. Qual è il modo migliore per formattare l’output con gli spazi?

 void printChar(char testChar) { unsigned char mask = pow(2, ((sizeof(char) * 8) - 1)); cout << "The binary representation of " << testChar <= 0; count--) { if ((testChar & mask) != 0) { cout << "1"; } else { cout <> 1); } cout << endl; } 

Hai già un contatore in corso, quindi puoi semplicemente usarlo per determinare il personaggio su cui ti trovi. Per esempio:

 if(count == 3){ cout << " "; } 

Basta aggiungere questo if prima della tua dichiarazione if-else . In questo modo, una volta emessi 4 caratteri, il count sarà 3, quindi sai che devi generare uno spazio.

Nota: si presume che tu stia emettendo solo 8 caratteri alla volta, come suggerisce il tuo codice.

 void printChar(char testChar) { unsigned char mask = pow(2, ((sizeof(char) * 8) - 1)); //Use an index to store the character number in the current set of 4 unsigned int index = 0; cout << "The binary representation of " << testChar << " is "; for (int count = 7; count >= 0; count--) { if ((testChar & mask) != 0) { cout << "1"; } else { cout << "0"; } mask = (mask >> 1); index++; if(index == 4){ cout << " "; index = 0; } } cout << endl; }