perdonato
Non esageriamo ...

1) deve essere

unsigned char num

altrimenti il codice non funziona sempre

2) è tremendamente poco performante

3) è didatticamente poco utile