Ad ogni cosa il suo...
Se usiamo un contatore, e il C fà appunto scuola, è necessario fare attenzione alle sue dimensioni.
Ogni variabile ha una sua dimensione specifica, e per alcune dipende anche dall'hardware.
Un esempio è l'int in C, che può essere di 16 o 32 bit. Il long è sempre 32 bit, il float 32 bit, il double 64 bit. Poi ci sono gli extended: long float = 64 bit, long double = 80 bit. Il byte, o char, è di 8 bit.
Insomma, se usiamo un contatore, è necessario sapere che lo scorrimento del bit lungo la dimensione della variabile, alla fine và fuori e và perso. Il contatore, come uso, fà shiftare il bit, da sinistra a destra o viceversa (vedi STEP), mandandolo al termine fuori range (ad es. il Byte è il bit 7). Se il for...next và a loopare su tutta la scala dei bit della variabile, alla fine si ritrova magicamente a zero, perchè il bit è uscito fuori range.
Di norma, per la costruzione di un contatore, o si esegue un pre-controllo sul fuori scala, oppure si usa una variabile contatore più grande. Ad esempio per il Byte (o bit) si può usare un Integer (16 bit), in questo modo si evita di andare in errore.
A volte, potrebbe essere conveniente utilizzare istruzioni mirate sui singoli bit, evitando quindi un loop.