PROGRAMMIAMO
File - Numero di cifre binarie
I numeri binari sono molto lunghi

Usando solo due cifre, i numeri in binario sono "più lunghi" (sono formati da più cifre) rispetto ai corrispondenti numeri in base 10. Ciò risulta evidente anche dall'esempio precedente: il numero quarantacinque in decimale richiede solo due cifre (4 e 5), mentre in binario viene rappresentato con 6 bit.

(45)10 = (101101)2

Si osservi la notazione usata per indicare la base in cui è stato scritto il numero. Tale indicazione è indispensabile quando si confrontano numeri in basi diverse poiché altrimenti ci si potrebbe confondere (per esempio 100 può rappresentare sia il numero quattro in binario che il numero cento in base dieci!).

Quanti bit ci vogliono per rappresentare un dato numero?

Se abbiamo 3 cifre decimali, qual è il massimo numero che possiamo scrivere? La risposta è ovviamente 999. In modo simile con 4 cifre decimali possiamo scrivere al massimo 9999 e così via in tutti i casi. Possiamo generalizzare la nostra osservazioni dicendo che il numero più grande che si può scrivere con n cifre decimali è 10n -1.

Con i numeri binari le cose funzionano allo stesso modo, solo che naturalmente la base è 2. In generale con n bit si possono rappresentare numeri fino a un valore massimo di 2n-1. Per esempio con 3 bit si possono scrivere numeri fino a un massimo di 7 (in binario 111). Infatti abbiamo che 23-1 = 8 - 1 = 7. In modo simile con 10 bit il massimo numero rappresentabile è 210 - 1 = 1023.

Si faccia attenzione al fatto che il valore massimo è 7, ma i numeri che è possibile scrivere usando solo 3 bit sono in realtà 8 (cioè 23). Infatti fra questi bisogna contare anche lo zero:

(000)2 = (0)10     (001)2 = (1)10     (020)2 = (2)10     (011)2 = (3)10      (100)2 = (4)10

(101)2 = (5)10     (110)2 = (6)10     (111)2 = (7)10

Con un byte (8 bit) per esempio si possono scrivere numeri fino a un valore massimo di 28-1 = 256 - 1 = 255. Con un byte è dunque possibile scrivere 256 combinazioni diverse di valori (contando anche lo zero).

Qualche esempio pratico

Facciamo qualche semplice esempio per chiarire i concetti precedenti. Supponiamo di avere 3 interruttori. Quante lampadine è possibile accendere? Probabilmente la prima risposta spontanea è 3. In realtà con 3 interruttori è possibile accendere 7 lampadine, a condizione di voler accendere solo una lampadina alla vota. Per fare questo bisogna assegnare a ogni lampadina una delle combinazioni possibili dei valori degli interruttori. La tabella seguente dovrebbe chiarire meglio il concetto. Indichiamo con A, B e C i tre interruttori e con OFF e ON rispettivamente lo stato di interruttore aperto (non passa corrente) e chiuso (passa corrente). Numeriamo le lampadine con i numeri progressivi da 1 a 7:

Interruttori Lampadina accesa
A B C
OFF OFF OFF nessuna
OFF OFF ON 1
OFF ON OFF 2
OFF ON ON 3
ON OFF OFF 4
ON OFF ON 5
ON ON OFF 6
ON ON ON 7

Il lettore si sarà certamente accorto che OFF e ON sono due nomi possibili dei due stati binari 0 e 1. Sostituendo 0 a OFF e e 1 a ON nella tabella precedente, si ottiene la sequenza dei numeri da 0 a 7. Lo zero (OFF OFF OFF) è usato per spegnere tutte le lampadine; gli altri numeri corrispondono all'accensione di una delle 7 lampadine.

Lampadine e interruttori

Consideriamo ora un altro esempio. Supponiamo di dover assegnare un numero identificativo binario a ciascun corridore di una gara di corsa e di avere a disposizione 4 bit per scrivere questo numero. Quanti corridori al massimo potremo numerare?

Codici binari e numerazione corridori

In questo caso la risposta è 16 (cioè 24) perché possiamo usare tutti i codici da 0000 a 1111 e assegnare ciascuno di essi a un corridore.

Un caso simili si presenta quando si vuole usare un codice per rappresentare i caratteri (lettere, cifre, segni di interpunzione, simboli vari) dell'alfabeto. Per esempio con 1 B si possono rappresentare al massimo 28 = 256 caratteri diversi, assegnando ogni codice (da 00000000 a 11111111) a un carattere.

 

precedente - successiva

Sito realizzato in base al template offerto da

http://www.graphixmania.it