Il resto è il modo eccessivo di testare il bit più basso. Se ci pensi, qualsiasi valore% 2 produrrà solo 0 o 1, il che accade corrisponde al valore del bit più basso.
Un modo di pensare più matematico o alternativo è anche o dispari , che può anche essere ottenuto da% con 2. Se il valore è pari ,% di 2 produce zero. E se il valore è pari, significa che il bit più basso è zero, quindi% di 2 che produce zero significa che il bit più basso è zero.
Il bit più basso in binario rappresenta 2 0 . Le altre posizioni in ordine crescente rappresentano 2 1 e oltre. L'unico modo per creare un numero dispari in binario è aggiungere 2 0 = 1, operazione che viene eseguita impostando il bit più basso. (Nota: questo si applica anche ai numeri negativi purché siano memorizzati in modulo di complemento 2 come fanno tutti i computer moderni) .
Ri: l'overkill, nella maggior parte delle lingue puoi fare una maschera più semplice con costante 1, come n & 1
, che è un modo più diretto di controllare il valore del bit più basso. Dividi per 2 è il modo matematico di spostare i bit di una posizione a destra; come nel mascheramento, la maggior parte delle lingue ha il modo più diretto di spostarsi, ad es. n >>= 1;
Questi sono spesso preferiti perché hanno meno problemi, come le stranezze nel gestire mod e la divisione degli interi negativi (la divisione computer, specialmente con gli interi, differisce in modo sottile dalla divisione matematica, che risulterebbe in frazioni o real). Inoltre, specialmente sui processori più vecchi, il modo più semplice era più veloce, essendo fattibile con una logica semplice invece di un divisore che è piuttosto complesso.