Sistema binario - Digilander

Ogni buon programmatore dovrebbe conoscere almeno 2 sistemi di numerazione oltre quello
decimale imparato (?) alle scuole elementari. Bene gli altri due sono il sistema BINARIO e
quello ESADECIMALE. Il sistema di numerazione binario è particolarmente legato ai
calcolatori in quanto essi possono riconoscere solo segnali aventi due valori : uno alto e uno
basso ; per cui si associa al valore alto la cifra binaria 1 e a quello basso la cifra binaria 0.
Infatti nel sistema binario esistono solo due cifre 0 e 1 appunto e i numeri ma anche tutte le altre
informazioni vengono rappresentati con sequenze di Zeri e di Uno.
Il sistema di numerazione binario è ancora un sistema posizionale come quello decimale, cosa
vuol dire: consideriamoli numero decimale 237, esso può essere scomposto in questo modo:
237 = 2 * 10 2 + 3 * 10 1 + 7 * 10 0
ossia le cifre del numero vengono moltiplicate per le potenze di dieci (da cui decimale) crescenti
da destra verso sinistra. I numeri binari vengono costruiti nello stesso modo solo che invece di
potenze di 10 si usano le potenze di 2, quindi considerando il seguente numero binario,
scomponendolo ed effettuando i calcoli si ottiene il corrispondente numero decimale :
11010010 = 1*2 7 + 0*2 6 + 1*2 5 + 0*2 4+ 0*2 3 + 0*2 2 + 1*2 1 + 0*2 0 = 210
Ora che abbiamo visto la conversione Base 10 → Base 2 vediamo come si effettua l’operazione
inversa.
L’algoritmo è abbastanza semplice:
1 - Si divide la cifra decimale per 2
2 -Se il quoziente è pari si scrive 0 se è dispari 1
3 - Si divide il quoziente ancora per 2 e si ripete il passo 3
4 - La sequenza ottenuta ribaltata è la rappresentazione binaria del numero decimale
Vediamolo applicato al numero decimale 145 (questo lo schema che di solito si utilizza):
145
72 | 1 ( cifra - significativa )
36 | 0
18 | 0
9|0
4|1
2|0
1|0
0 | 1 (cifra + significativa )
Quindi 145 in base 10 equivale a 10010001 in base 2. Semplice vero ?? NOTA: Una cosa da
notare è che con N cifre binarie possiamo rappresentare tutti i numeri da 0 fino a 2 n-1.