Credo che l'unico errore nel codice che hai postato sia che mentre nel tuo esempio dici di dover shiftare a destra i bytes di 4 posizioni, qui li shifti di 8; correggi così:
.codice:new_byte = new_byte >> 4;
Credo che l'unico errore nel codice che hai postato sia che mentre nel tuo esempio dici di dover shiftare a destra i bytes di 4 posizioni, qui li shifti di 8; correggi così:
.codice:new_byte = new_byte >> 4;
Amaro C++, il gusto pieno dell'undefined behavior.