Sistema binario

Il sistema binario, o sistema numerico binario, è un sistema di numerazione posizionale in base 2. A differenza del sistema decimale (in base 10) le uniche cifre che compongono i numeri sono 0 ed 1, e per tale motivo essi vengono detti numeri binari.

 

Tra tutti i sistemi di numerazione, il sistema binario è il più importante e quello che incontrerete più spesso in quanto è alla base dell'informatica. In questa lezione vedremo com'è definito, le sue caratteristiche, come si passa dal sistema binario al sistema decimale e dal sistema decimale a quello binario.

 

Cos'è il sistema binario

 

Il sistema numerico binario, o sistema in base 2, deve il suo nome al fatto che vengono utilizzate solo e soltanto due cifre: 0 e 1. Proprio come nel caso di quello che usiamo tutti i giorni, il sistema di numerazione binario è posizionale, cioè ha importanza la posizione assunta da ogni singola cifra all'interno di un numero.

 

Per indicare che un numero è scritto utilizzando il codice binario si racchiude tra parentesi tonde mettendo poi un 2 come pedice.

 

Ad esempio 1011 scritto in questo modo indica il numero milleundici nel sistema di numerazione decimale, invece scrivendo:

 

(1011)2

 

stiamo ad indicare il numero nella base due ed in questo caso si leggerà: "uno zero uno uno in base due", cioè si leggono le cifre che lo compongono una alla volta.

 

Dopo aver fatto queste semplici ma indispensabili premesse, vediamo come funziona il sistema binario e come convertire un numero dalla base 2 alla base 10 e, viceversa, come passare dalla base 10 alla base 2.

 

Come passare dal sistema binario al sistema decimale

 

Per convertire un numero binario nel sistema di numerazione decimale basta ricorrere alla forma polinomiale. Come? Vediamolo con un esempio.

 

Proponiamoci di convertire il numero (1101)2 in base 10.

 

1) Partendo dalla prima cifra a destra assegnamo la posizione alle cifre del nostro numero:

 

 

\underbrace{1}_{4^{a}} \underbrace{1}_{3^a} \underbrace{0}_{2^a} \underbrace{1}_{1^a}

 

 

2) Moltiplichiamo la 1a per 20, la 2a per 21, la 3a per 22, la 4a per 23... e così via se il numero dovesse avere più di 4 cifre.

 

3) Sommando i valori trovati al punto 2) avremo il numero in base 10.

 

Volendo fare il tutto in un solo colpo:

 

 

(1101)_2=1 \times \underbrace{2^0}_{=1}+\ 0 \times \underbrace{2^1}_{=2}+\ 1 \times \underbrace{2^2}_{=4}+\ 1 \times \underbrace{2^3}_{=8} =

 

 

ricordando l'ordine con cui vanno eseguite le operazioni

 

 

\\ =1 \times 1 + 0 \times 2 + 1 \times 4 + 1 \times 8=\\ \\ =1+0+4+8=13

 

Altri esempi di passaggio dalla base 2 alla base 10

 

Seguiamo il procedimento appena visto e convertiamo i seguenti numeri dal sistema binario (base 2) al sistema decimale (base 10)

 

 

\\ (10100)_2=0 \times 2^0 \ + \ 0 \times 2^1 \ + \ 1 \times 2^2 \ + \ 0 \times 2^3 \ + \ 1 \times 2^4=\\ \\ = 0 + 0 + 4 + 0 + 16 = 20

 

 

Prendiamo un numero binario un po' più lungo...

 

 

\\ (110101)_2=1 \times 2^0 \ + \ 0 \times 2^1 \ + \ 1 \times 2^2 \ + \ 0 \times 2^3 \ + \ 1 \times 2^4  + 1 \times 2^5=\\ \\ =1 + 0 + 4 + 0 + 16 + 32=53

 

 

Vediamo un terzo esempio

 

 

\\ (11001001)_2=1 \times 2^0 \ + \ 0 \times 2^1 \ + \ 0 \times 2^2 \ + \ 1 \times 2^3 \ + \ 0 \times 2^4  + 0 \times 2^5 + 1 \times 2^6 + 1 \times 2^7=\\ \\ =1 + 0 + 0 + 8 + 0 + 0 + 64 + 128=201

 
 

Dal sistema decimale al sistema binario

 

Per passare dalla base dieci alla base due bisogna dividere il numero per 2 e successivamente continuare a dividere i quozienti ottenuti per 2 fino ad ottenere, come quoziente, uno zero. I resti delle divisioni, scritti in ordine inverso, ci daranno il numero scritto in base due.

 

Supponiamo, ad esempio, di voler scrivere il numero 136 in base due. Partiamo dal dividere 136 ed i quozienti che man mano verranno fuori per 2 appuntandoci a lato i resti:

 

 

\begin{array}{rcrclcll}136 & : & 2 & = & 68 & \ & \mbox{resto} & 0 \\ 68 & : & 2 & = & 34 & \ & \mbox{resto} & 0 \\ 34 & : & 2 & = & 17 & \ & \mbox{resto} & 0 \\ 17 & : & 2 & = & 8 & \ & \mbox{resto} & 1 \\ 8 & : & 2 & = & 4 & \ & \mbox{resto} & 0 \\ 4 & : & 2 & = & 2 & \ & \mbox{resto} & 0 \\ 2 & : & 2 & = & 1 & \ & \mbox{resto} & 0 \\ 1 & : & 2 & = & 0 & \ & \mbox{resto} & 1\end{array}

 

 

Scrivendo i resti in ordine inverso rispetto all'ordine con cui li abbiamo ottenuti avremo il valore di 136 nel sistema binario, ovvero:

 

136=(10001000)_2

 

Altri esempi di conversione dalla base 10 alla base 2

 

Vogliamo scrivere 29 in base 2. Pronti con le divisioni?

 

\\ \bullet \ 29=\overbrace{(....)_2}^{\mbox{?}}\\ \\ \\ \begin{array}{rcrclcll}29 & : & 2 & = & 14 & \ & \mbox{resto} & 1 \\ 14 & : & 2 & = & 7 & \ & \mbox{resto} & 0 \\ 7 & : & 2 & = & 3 & \ & \mbox{resto} & 1 \\ 3 & : & 2 & = & 1 & \ & \mbox{resto} & 1 \\ 1 & : & 2 & = & 0 & \ & \mbox{resto} & 1\end{array}

 

 

Allora leggendo i resti al contrario otterremo la rappresentazione binaria cercata: 29=(11101)_2.

 

 

Vediamo un altro esempio

 

\\ \bullet \ 287=\overbrace{(....)_2}^{\mbox{?}}\\ \\ \\ \begin{array}{rcrclcll}287 & : & 2 & = & 143 & \ & \mbox{resto} & 1 \\ 143 & : & 2 & = & 71 & \ & \mbox{resto} & 1 \\ 71 & : & 2 & = & 35 & \ & \mbox{resto} & 1 \\ 35 & : & 2 & = & 17 & \ & \mbox{resto} & 1 \\ 17 & : & 2 & = & 8 & \ & \mbox{resto} & 1 \\ 8 & : & 2 & = & 4 & \ & \mbox{resto} & 0 \\ 4 & : & 2 & = & 2 & \ & \mbox{resto} & 0 \\ 2 & : & 2 & = & 1 & \ & \mbox{resto} & 0 \\ 1 & : & 2 & = & 0 & \ & \mbox{resto} & 1\end{array}

 

 

Riportando i resti al contrario avremo che 287=(100011111)_2.

 

 


 

È tutto. Nella prossima lezione vedremo come si risolvono le operazioni con i numeri binari; inoltre avete anche a disposizione una scheda di esercizi sul sistema binario, tutti svolti, e un utilissimo convetitore binario per effettuare le conversioni da binario a decimale e viceversa. ;)

 

 

Buon proseguimento su YouMath,

Giuseppe Carichino (Galois)

 

Lezione precedente..........Esercizi correlati..........Lezione successiva


Tags: il sistema numerico binario in matematica - passare dal sistema decimale al sistema binario - come convertire dalla base due alla base dieci e dalla base 10 alla base 2.