Se assegni ad un campo di 3 bit, i valori che puoi utilizzare vanno da 0 a 7 ...

Se a tale campo assegni il valore decimale 100 (cento), vengono assegnati solamente gli ultimi 3 bit a destra, ovvero il valore 100%8 che e' uguale a 4 ... ovvero, dato che 100 (cento) in binario e'

01100100

e che vengono considerati solamente gli ultimi 3 bit a destra, hai quel risultato.

Se tu avessi usato 99, avresti avuto il valore 3 perche' 99%8 e' uguale a 3 ... infatti, in binario 99 e'

01100011

e gli ultimi 3 bit a destra sono

011

ovvero 3.