Ciao,
- per quanto riguarda il ciclo while, quello che hai scritto, in sintesi e': "se i dati sono corretti, ritenta". Probabilmente intendevi il contrario (a meno ovviamente di una svista mia);
- Sarebbe meglio (ma e' solo un parere personale) se il bit meno significativo fosse 0 e non 1. Questo per due motivi:
1 - e' piu' semplice;
2 - fanno tutti cosi', per cui e' quello che ci si aspetta;
- Il codice per MENO_SIGNIFICATIVI sembra OK. Il codice per PIU_SIGNIFICATIVI e' particolarmente strano. E' quello che non funziona?
In piu' non hai inizializzato la mask, per cui il risultato sara' comunque indeterminato.
Suggerimento: fai la stessa cosa di MENO_SIGNIFICATIVI, inizializzi la variabile mask a 0x80000000 e poi shift a destra
Sottovento