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 :
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 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.
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 binario | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
|---|---|---|---|---|---|---|---|---|
| Pesi | 27 = 128 | 26 = 64 | 25 = 32 | 24 = 16 | 23 = 8 | 22 = 4 | 21 = 2 | 20 = 1 |
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 (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 |
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 :
![]() |
Attenzione! Numerosi software (talvolta alcuni sistemi operativi) utilizzano oggi la notazione precedente al 1998 per la quale :
|
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 :
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
![]() |
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 :
Le operazioni aritmetiche semplici come l'addizione, la sottrazione e la moltiplicazione sono facili da effettuare 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 tabella di moltiplicazione in binario è molto semplice :
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 |