La codifica binaria

Presentazione del binario

Verso la fine degli anni 30, Claude Shannon dimostrerà che con l'aiuto dei « contrattori » (interruttori) chiusi per « vero » e aperti per « falso » era possibile effettuare delle operazioni logiche associando il numero 1 per « vero » e 0 per « falso ».

Questa codifica dell'informazione è detta base binaria. E' con questa codifica che i computer funzionano. Essa consiste nell'utilizzare due stati (rappresentati dalle cifre 0 e 1) per codificare le informazioni.

Dal 2000 a.c. l'uomo calcola con 10 cifre (0, 1, 2, 3, 4, 5, 6, 7, 8, 9), parlando quindi di base decimale. Tuttavia nelle civiltà più antiche o per alcune applicazioni attuali sono state utilizzate, e lo sono ancora, delle altre basi di calcolo :

  • base sessagesimale (60), utilizzata dai Sumeri. Questa base è ugualmente utilizzata nel sistema orario attuale, per i minuti e i secondi;
  • base vigesimale (20), utilizzato dai Maya;
  • base duo decimale (12), utilizzato dagli anglosassoni nei loro sistemi monetari fino al 1960 : un « pound » rappresentava venti « scellini » et uno « scellino » rappresentava dodici « pences ». Il sistema orario attuale funziona anche su dodici ore (soprattutto nella notazione anglosassone);
  • base quinaria (5), utilizzata dai Maya;
  • base binaria (2), utilizzata dall'insieme delle tecnologie digitali.

Il bit

Il termine bit (b con una minuscola della notazione) significa « binary digit' », cioè 0 o 1 in numerazione binaria. Si tratta della più piccola unità d'informazione manipolabile da un terminale digitale. E' possibile rappresentare fisicamente questa informazione binaria :

  • con un segnale elettrico o magnetico, che, oltre una certa soglia, corrisponde al valore 1;
  • con delle asperità geometriche su una superficie;
  • grazie a dei bistabili, componenti elettriche che hanno due stati di equilibrio (uno corrispondente allo stato 1, l'altro allo 0).

Con un bit è quindi possibile ottenere due stati: sia 1, sia 0. Grazie a 2 bits, è possibile ottenere quattro stati diversi (2*2) :

0 0
0 1
1 0
1 1

Con 3 bits, è possibile ottenere otto stati diversi (2*2*2) :

Valore binario su 3 bits Valore decimale
000 0
001 1
010 2
011 3
100 4
101 5
110 6
111 7

Per un gruppo di n bits, è possibile rappresentare 2n valori.

Pesi dei bits

In un numero binario, il valore di un bit, detto pesi, dipende dalla posizione del bit partendo da destra. Come le dozzine, le centinaia e le migliaia per numero decimale, il peso di un bit cresce del doppio andando da destra verso sinistra come mostra la tabella seguente :

Numero binario11111111
Pesi27 = 12826 = 6425 = 3224 = 1623 = 822 = 421 = 220 = 1

Conversioni

Per convertire una parola binaria in numeri decimali, basta moltiplicare il valore di ogni bit per il suo peso, poi sommare ogni risultato. Così, la parola binaria 010 vale in decimale :

23x0 + 22x1 + 21x0 + 20x1
= 8x0 + 4x1 + 2x0 + 1x1
= 5

Il byte

Il byte (in inglese byte o B in maiuscolo nelle notazioni) è un'unità d'informazione composta da 8 bits. Permette ad esempio di stoccare un carattere, come una lettera o una cifra.

Questo raggruppamento di numeri in serie di 8 permette una leggibilità più estesa, nello stesso modo in cui si apprezza, in base decimale, di raggruppare i numero a tre per poter distinguere le migliaia. Il numero « 1 256 245 » è ad esempio più leggibile che « 1256245 ».

Un'unità d'informazione composta da 16 bits è generalmente detta parola (in inglese word).

Un'unità d'informazione con 32 bits di lunghezza è detta parola doppia(in inglese double word, da cui la definizione dword).

Per un byte, il numero più piccolo è 0 (rappresentato da otto zero 00000000), e il più grande è 255 (rappresentato da otto cifre « uno » 11111111), che rappresenta 256 possibilità di valori differenti.

27 =128 26 =64 25 =32 24 =16 23 =8 22 =4 21 =2 20 =1
0 0 0 0 0 0 0 0
1 1 1 1 1 1 1 1

KiloBytes, MégaBytes

Da tempo l'informatica si è singola rizzata dall'utilizzo di diversi valori per le unità del sistema internazionale. Così molti informatici hanno imparato che 1 kilobyte valeva 1024 bytes. Ora, dal dicembre 1998, l'organismo internazionale IEC ha istituito sulla questione (http://physics.nist.gov/cuu/Units/binary.html). Ecco le unità standardizzate :

  • Un kilobyte (ko o kB) = 1000 bytes
  • Un Megabyte (Mo o Mb) = 1000 ko = 1 000 000 bytes
  • Un Gigabyte (Go o Gb) = 1000 Mo = 1 000 000 000 bytes
  • Un Terabyte (To) = 1000 Go = 1 000 000 000 000 bytes

Nota Attenzione! Numerosi software (talvolta alcuni sistemi operativi) utilizzano oggi la notazione precedente al 1998 per la quale :
  • Un kilobyte (ko) = 210 bytes = 1024 bytes
  • Un Megabyte (Mo) = 220 bytes = 1024 ko = 1 048 576 bytes
  • Un Gigabyte (Go) = 230 bytes = 1024 Mo = 1 073 741 824 bytes
  • Un Terabyte (To) = 240 bytes = 1024 Go = 1 099 511 627 776 bytes

L'IEC ha ugualmente definito il kilo binario (kibi), il mega binario (Mebi), il giga binario (Gibi), il tera binario (Tebi).
Ecco le loro definizioni :

  • Un kibibyte(kio o kiB) vale 210 = 1024 bytes
  • Un Mebibyte (Mio o MiB) vale 220 = 1 048 576 bytes
  • Un Gibibyte (Gio o GiB) vale 230 = 1 073 741 824 bytes
  • Un Tebibyte (Tio o TiB) vale 240 = 1 099 511 627 776 bytes

E' ugualmente utile notare che la comunità internazionale nel suo insieme utilizza di preferenza il nome di « byte » piuttosto che il termine « octet » puramente francofono. Questo forma le notazioni seguenti per kilobyte, megabyte, gigabyte e terabyte :

kB, MB, GB, TB
Nota Da notare l'uso di una B maiuscola per differenziare Byte e bit.

Ecco una schermata del software HTTrack, l'aspiratore di siti più famoso, che mostra l'uso di questa notazione :

Capture d\'écran du logiciel HTTrack

Le operazioni in binario

Le operazioni aritmetiche semplici come l'addizione, la sottrazione e la moltiplicazione sono facili da effettuare in binario.

L'addizione in binario

L'addizione in binario si fa con le stesse regole del decimale :
Si cominciano a sommare i bits di peso leggero (i bits di destra) poi si hanno dei riporti quando la somma dei due bits dello stesso peso sorpassa il valore dell'unità più grande (nel caso binario: 1), questo riporto è spostato sul bit di peso più forte successivo...

Ad esempio :

  0 1 1 0 1
+ 0 1 1 1 0
- - - - - -
  1 1 0 1 1

La moltiplicazione in binario

La tabella di moltiplicazione in binario è molto semplice :

  • 0x0=0
  • 0x1=0
  • 1x0=0
  • 1x1=1

La moltiplicazione si effettua formando un prodotto parziale per ogni digit del moltiplicatore (solo i bits non nulli daranno un risultato non nullo). Quando il bit del moltiplicatore è nullo, il prodotto parziale è nullo, quando vale uno, il prodotto parziale è costituito dal moltiplicando spostato dal numero di posizioni uguale al peso del bit di moltiplicatore.

Ad esempio :

    0 1 0 1 moltiplicando
x   0 0 1 0 moltiplicatore
- - - - - -
    0 0 0 0
  0 1 0 1  
0 0 0 0    
- - - - - -
  0 1 0 1 0


Ultime modificazione ilvenerdì 6 febbraio 2009 alle 16:52:01


Questo documento intitolato «  » da Kioskea (it.kioskea.net) è reso disponibile sotto la licenza Creative Commons. È possibile copiare, modificare le copie di questa pagina, alle condizioni previste dalla licenza, come questa nota appare chiaramente.