Il codice binario
|
La prima cosa da fare, per poter capire l'informatica, è quella di capire su quale linguaggio essa si basi.
|
Quindi si dice che 10 è la base della numerazione (ed è quindi anche la base per le operazioni di elevamento a potenza che vedremo tra un attimo)
Così il numero 15 equivale a dire che si sono contate tutte le cifre una volta e poi ancora cinque cifre (la quantità totale, come tutti sanno, è quindi [1 x 10 + 5 x 1] cioè anche [1 decina + 5 unità]).
Prendiamo ora come esempio un numero un po' più complicato, e ripetiamo il ragionamento: scegliamo 1296.
Intanto vediamolo scomposto:
| posizione |
4° |
3° |
2° |
1° |
|
cifra |
1 |
2 |
9 |
6 |
|
significato |
migliaia |
centinaia |
decine |
unità |
|
Potenza di 10 |
103 |
102 |
101 |
100 |
La tabella qui sopra è un classico, ma io vorrei rappresentare il numero 1296 utilizzando tutte le persone che servono per "contarlo".
Ecco quindi a voi: Marco, Carlo, Dario, Ugo
Le mani di Ugo contano da 1 a 1296, mentre lo fa i suoi amici tengono traccia del conteggio in questo modo:
Dario alza un dito ogni volta che Ugo ha finito una serie di dieci, e ricominciato.
[Quando Ugo ha alzato tutte le dita, vuol dire che ha contato 10, allora le abbassa tutte, e Dario ne alza una]
Carlo alza un dito ogni volta che Dario ha finito una serie di dieci, e ricominciato.
Marco alza un dito ogni volta che Carlo ha finito una serie di dieci, e ricominciato.
Inutile dirvi che il risultato finale sarà questo:
|
Marco |
Carlo |
Dario |
Ugo |
|
1 dito alzato |
2 dita alzate |
9 dita alzate |
6 dita alzate |
Bene, ma se questi amici avessero solo DUE dita ??
Ecco quello che succederebbe, per contare, ad esempio, il numero 25:
[Ricordiamo che, quando si conta in questo modo, chi sta davvero contando tutto è la persona più a destra{Ugo}, e quando uno degli amici alza TUTTE le sue dita, quello che avviene è che le abbassa tutte, e chi gli sta vicino a sinistra, alza un dito, per segnalare che il suo amico ha terminato una serie ed ha ricominciato]
Il nostro UGO, con sole due dita, quante volte le alza tutte?
Ovviamente 25 diviso 2=12, col resto di 1
Allora Dario dovrebbe contare il numero di volte che Ugo ha alzato tutte le dita, ma anche lui ha solo due dita, quindi le alzerà tutte per 12 diviso 2= 6 volte, col resto di ZERO
Carlo deve contare le 6 volte che Dario ha alzato tutte le sue dita: avendone, anche lui, solo due, le alzerà 6 diviso 2 = 3 volte, col resto di ZERO
Marco deve contare le 3 volte che Carlo ha alzato tutte le sue dita, quindi alzerà tutte le sue dita 1 volta, col resto di 1, nel senso che alzerà ancora un dito, che gli rimane alzato.
Serve un nuovo amico: Fabio, il quale conta le volte che Marco ha ricominciato il conteggio, cioè una sola volta: Fabio resterà quindi con un solo dito alzato.
|
Fabio |
Marco |
Carlo |
Dario |
Ugo |
amici |
|
1 dito alzato |
1 dito alzato |
nessun dito alzato |
nessun dito alzato |
1 dito alzato |
dita |
|
1 |
1 |
0 |
0 |
1 |
Cifre binarie |
|
24 |
23 |
22 |
21 |
20 |
potenze di 2 |
|
1 x 24 |
1 x 23 |
0 x 22 |
0 x 21 |
1 x 20 |
Somma=25 |
Il numero 25, espresso in codice binario, è 11001.
La base della numerazione è 2.
Esattamente come per la numerazione decimale, il significato del numero 11001 è il seguente (iniziando dalla posizione più a destra, la posizione UNO, che è la posizione delle unità, cioè della potenza ZERO della base scelta per il conteggio):
1 x 20 = 1 x 1 = 1
0 x 21 = 0 x 2 = 0
0 x 22 = 0 x 4 = 0
1 x 23 = 1 x 8 = 8
1 x 24 = 1 x 16 = 16
e... 1+8+16= 25 !!
La numerazione in codice binario ha solo DUE cifre, per formare tutti i numeri, esse sono "0" ed "1".
Vediamo ora il metodo un po' meglio:
Per trasformare il numero 324 da base 10 (decimale) a base 2 (binario) si procede per divisioni successive per la base:
|
passaggio |
numero |
diviso per |
fa |
col resto di |
|
|
1 |
324 |
2 |
162 |
0 |
(questa è la cifra più a DESTRA) |
|
2 |
162 |
2 |
81 |
0 |
|
|
3 |
81 |
2 |
40 |
1 |
|
|
4 |
40 |
2 |
20 |
0 |
|
|
5 |
20 |
2 |
10 |
0 |
|
|
6 |
10 |
2 |
5 |
0 |
|
|
7 |
5 |
2 |
2 |
1 |
|
|
8 |
2 |
2 |
1 |
0 |
|
|
9 |
1 |
2 |
0 |
1 |
Quindi 324 in base 10 si scrive come 101000100 in base 2 !!
Questo ovviamente vale per qualsiasi base.
Se la base fosse 16 (codice o numerazione esadecimale), si usa lo stesso metodo, solo che essendoci solo 10 cifre, ci servono altri 6 SIMBOLI per questa nuova numerazione: per convenzione si usano le lettere maiuscole A,B,C,D,E,F
Quindi una A in numerazione esadecimale vale 10, una B vale 11... e così via fino alla F che vale 15. E tutto torna... (Infatti dividendo per 16 posso ottenere un resto che va da 0 a 15)
Prossimo passo: Perché si usa il sistema binario per i computers ?
Home
Se volete approfondire fate altre ricerche: