Esercizi sul sistema binario

Proponiamo ora una scheda di esercizi svolti sul sistema binario e sulle operazioni con i numeri binari che vi faranno prendere ancor più confidenza con questo nuovo sistema di numerazione e saranno un ottimo allenamento per poter poi affrontare nel migliore dei modi la vostra verifica.

 

Esercizi risolti sul passaggio dalla base 10 alla base 2

 

Scrivi in base due i seguenti numeri dati in base dieci: 8, 20, 32, 125, 413, 631, 935.

 

 

Soluzione

 

Come abbiamo visto nella lezione sul sistema binario, per passare dal sistema decimale al sistema binario bisogna dividere ripetutamente il numero di partenza ed i quozienti che man mano si ottengono per 2 (fino a quando non avremo 0 come risultato della divisione), appuntarsi a parte i resti e poi prenderli al contrario. Procedendo in questo modo avremo

 

8=(1000)_2 \ \ 20=(10100)_2 \ \ 32 = (100000)_2 \ \ 125=(1111101)_2 \ \ 413=(110011101)_2 \ \ 631=(1001110111)_2 \ \ 935=(1110100111)_2

 

Mostriamo il procedimento solo per alcuni lasciando a voi i rimanenti;

 

\begin{array}{rcrclcll}{\color{red}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}

 

quindi 8=(1000)_2

 

\begin{array}{rcrclcll}{\color{red}20} & : & 2 & = & 10 & \ & \mbox{resto} & 0 \\ 10 & : & 2 & = & 5 & \ & \mbox{resto} & 0 \\ 5 & : & 2 & = & 2 & \ & \mbox{resto} & 1 \\ 2 & : & 2 & = & 1 & \ & \mbox{resto} & 0 \\1 & : & 2 & = & 0 & \ & \mbox{resto} & 1\end{array}

 

allora 20=(10100)_2

 

\begin{array}{rcrclcll}{\color{red}125} & : & 2 & = & 62 & \ & \mbox{resto} & 1 \\ 62 & : & 2 & = & 31 & \ & \mbox{resto} & 0 \\ 31 & : & 2 & = & 15 & \ & \mbox{resto} & 1 \\ 15 & : & 2 & = & 7 & \ & \mbox{resto} & 1 \\ 7 & : & 2 & = & 3 & \ & \mbox{resto} & 1 \\ 3 & : & 2 & = & 1 & \ & \mbox{resto} & 1 \\ 1 & : & 2 & = & 0 & \ & \mbox{resto} & 1\end{array}

 

da cui, prendendo i resti in ordine inverso rispetto a come li abbiamo ottenuti: 125=(1111101)_2

 

\begin{array}{rcrclcll}{\color{red}631} & : & 2 & = & 315 & \ & \mbox{resto} & 1 \\ 315 & : & 2 & = & 157 & \ & \mbox{resto} & 1 \\157 & : & 2 & = & 78 & \ & \mbox{resto} & 1 \\ 78 & : & 2 & = & 39 & \ & \mbox{resto} & 0 \\ 39 & : & 2 & = & 19 & \ & \mbox{resto} & 1 \\ 19 & : & 2 & = & 9 & \ & \mbox{resto} & 1 \\ 9 & : & 2 & = & 4 & \ & \mbox{resto} & 1 \\ 4 & : & 2 & = & 2 & \ & \mbox{resto} & 0 \\ 2 & : & 2 & = & 1 & \ & \mbox{resto} & 0 \\ 1 & : & 2 & = & 0 & \ & \mbox{resto} & 1\end{array}

 

confermando quindi che 631=(1001110111)_2.

 

Esercizi svolti sul passaggio dalla base 2 alla base 10

 

Converti dalla base 2 alla base 10 i seguenti numeri binari: (1101)2 (11101)2 (100011)2 (1110001)2 (10110011)2 (100111000)2 (1110001011)2

 

Soluzione

 

Come visto nella lezione linkata precedentemente per passare dal sistema binario al sistema decimale occorre scrivere i numeri dati in forma polinomiale moltiplicando per opportune potenze di 2 in base alla posizione occupata dalle singole cifre. Cioè moltiplicheremo per 20 la prima cifra a destra, per 21 la seconda, per 22 la terza...e così via, per poi sommare il tutto. Procedendo in questo modo avremo:

 

(1101)_2=13 \ \ (11101)_2=29 \ \ (100011)_2=35 \ \ (1110001)_2=113 \ \ (10110011)_2=179 \ \ (100111000)_2 = 312 \ \ (1110001011)_2=907

 

Mostremo i passaggi seguiti solo per alcuni di essi lasciando a voi i rimanenti.

 

{\color{red}(1101)_2}=1 \times 2^0 \ + \ 0 \times 2^1 \ + \ 1 \times 2^2 \ + \ 1 \times 2^3 \ = 1 + 0 + 4 + 8 = {\color{blue}13}

 

{\color{red}(11101)_2}=1 \times 2^0 \ + \ 0 \times 2^1 \ + \ 1 \times 2^2 \ + \ 1 \times 2^3 \ + \ 1 \times 2^4 = 1 + 0 + 4 + 8 + 16 = {\color{blue}29}

 

{\color{red}(1110001)_2}=1 \times 2^0 \ + \ 0 \times 2^1 \ + \ 0 \times 2^2 \ + \ 0 \times 2^3 \ + \ 1 \times 2^4 \ + \ 1 \times 2^5 \ + \ 1 \times 2^6 = 1 + 0 + 0 + 0 + 16 + 32 + 64 = {\color{blue}113}

 

{\color{red}(100111000)_2}=0 \times 2^0 \ + \ 0 \times 2^1 \ + \ 0 \times 2^2 \ + \ 1 \times 2^3 \ + \ 1 \times 2^4 \ + \ 1 \times 2^5 \ + \ 0 \times 2^6 \ + \ 0 \times 2^7 \ + \ 1 \times 2^8 = 0 + 0 + 0 + 8 + 16 + 32 + 0 + 0 + 256 = {\color{blue}312}

 

Operazioni svolte con i numeri binari

 

Abbiamo già visto come si svolgono le operazioni con i numeri binari. Proponiamo ora una serie di addizioni, sottrazioni, moltiplicazioni e divisioni risolte coi i numeri binari; alcune di esse le svolgeremo dettagliatamente, per altre daremo solo il risultato e lasceremo a voi il compito di fare i conticini. Wink

 

Esegui le seguenti addizioni nel sistema binario

 

...e verifica poi i risultati nel sistema decimale.

 

\bullet \ (11)_2 + (111)_2 

 

\begin{array}{ccccc|ccccccccc} & & 1 & 1 & + & \ \ & & 1 & 1 & \rightarrow & & 3 & + \\ & 1 & 1 & 1 & = & \ \ & 1 & 1 & 1 & \rightarrow & & 7 & = \\ \cline{1-4} \cline{11-13} 1 & 0 & 1 & 0 & & \ \ 1 & 0 & 1 & 0 & \rightarrow & 1 & 0 \end{array}

 

Quindi \underbrace{(11)_2}_{3} + \underbrace{(111)_2}_{7}=\underbrace{(1010)_2}_{10}

 

\bullet \ (1110)_2 + (10010)_2 + (10100)_2

 

\begin{array}{cccccccc|cccccccccc} & & 1 & 1 & 1 & 0 & + & \ \ & & 1 & 1 & 1 & 1 & 0 & \rightarrow & 1 & 4 & + \\ & 1 & 0 & 0 & 1 & 0 & + & \ \ & & 1 & 0 & 0 & 1 & 0 & \rightarrow & 1 & 8 & + \\ & 1 & 0 & 1 & 0 & 0 & = & \ \ & & 1 & 0 & 1 & 0 & 0 & \rightarrow & 2 & 0 & = \\ \cline{1-7} \cline{16-18} 1 & 1 & 0 & 1 & 0 & 0 & & \ \ & 1 & 1 & 0 & 1 & 0 & 0 & \rightarrow & 5 & 2 \end{array}

 

Quindi \underbrace{(1110)_2}_{14} + \underbrace{(10010)_2}_{18} + \underbrace{(10100)_2}_{20} = \underbrace{(110100)_2}_{52}

 

A voi il compito di verificare che

 

\bullet \ (1001)_2 + (1010)_2 = (10011)_2

 

\bullet \ (1100)_2 + (100)_2 = (10000)_2

 

\bullet \ (100011)_2 + (10100)_2 + (10110)_2= (1001101)_2

 

Esegui le seguenti sottrazioni nel sistema binario

 

...verificando poi i risultati nel sistema decimale

 

\bullet \ (11111)_2 -(1010)_2

 

\begin{array}{ccccccc|ccccccccc}1 & 1 & 1 & 1 & 1 & - & \ \ & 1 & 1 & 1 & 1 & 1 & \rightarrow & 3 & 1 & - \\ & 1 & 0 & 1 & 0 & = & \ \ & & 1 & 0 & 1 & 0 & \rightarrow & 1 & 0 & = \\ \cline{1-6} \cline{14-16} 1 & 0 & 1 & 0 & 1 & & & \ \ 1 & 0 & 1 & 0 & 1 & \rightarrow & 2 & 1\end{array}

 

Quindi \underbrace{(11111)_2}_{31} -\underbrace{(1010)_2}_{10} = \underbrace{(10101)_2}_{21}

 

\bullet \ (1011010)_2 -(10001)_2

 

\begin{array}{ccccccccc|cccccccccccc} 1 & 0 & 1 & 1 & 0 & 1 & 0 & - & \ \ & 1 & 0 & 1 & 1 & 0 & 1 & 0 & \rightarrow & 9 & 0 & - \\ & & 1 & 0 & 0 & 0 & 1 & = & \ \ & & & 1 & 0 & 0 & 0 & 1 & \rightarrow & 1 & 7 & = \\ \cline{1-8} \cline{18-20} 1 & 0 & 0 & 1 & 0 & 0 & 1 & & \ \ & 1 & 0 & 0 & 1 & 0 & 0 & 1 & \rightarrow & 7 & 3\end{array}

 

Ovvero \underbrace{(1011010)_2}_{90} -\underbrace{(10001)_2}_{17} = \underbrace{(1001001)_2}_{73}

 

Ora tocca a voi! Verificate che:

 

\bullet \ (10100)_2 - (1011)_2 = (1001)_2

 

\bullet \ (10011)_2 - (100)_2 = (1111)_2

 

\bullet \ (111101)_2 - (11011)_2 = (100010)_2

 

Svolgi le seguenti moltiplicazioni tra numeri binari

 

...e verifica poi i risultati convertendo tutto nel sistema decimale.

 

\bullet \ (101)_2 \times (11)_2

 

\begin{array}{c c c c c c} & 1 & 0 & 1 & \times & \\ & & 1 & 1 & = & \\ \cline{1-5}  & 1 & 0 & 1 & + & \to 101 \times 1\\ 1 & 0 & 1 &  & = & \to 101 \times 1 \\ \cline{1-5} 1 & 1 & 1 & 1 &   \end{array}

 

Passando al sistema decimale:

 

\begin{array}{rcc} (101)_2 & = & 5 \\ (11)_2 & = & 3 \\ (1111)_2 & = & 15 \end{array} \to 5 \times 3 = 15

 

Quindi \underbrace{(101)_2}_{5} \times \underbrace{(11)_2}_{3}= \underbrace{(1111)_2}_{15}

 

\bullet \ (110)_2 \times (110)_2

 

\begin{array}{c c c c c c c c} & & & 1 & 1 & 0 & \times & \\ & & & 1 & 1 & 0 & = & \\ \cline{1-7}  & & & 0 & 0 & 0 & + & \to 110 \times 0 \\ & & 1 & 1 & 0 &  & + & \to 110 \times 1 \\ & 1 & 1 & 0 &  &  & = & \to 110 \times 1 \\ \cline{1-7}  1 & 0 & 0 & 1 & 0 & 0  \end{array}

 

COnvertendo in base 10: (110)_2 = 6 \ \to \ (110)_2 \times (110)_2 = 6 \times 6 = 36 = (100100)_2

 

Verificate che

 

\bullet \ (101)_2 \times (110)_2 = (11110)_2

 

\bullet \ (110)_2 \times (111)_2 = (101010)_2

 

\bullet \ (111)_2 \times (1100)_2 = (1010100)_2

 

Esegui le seguenti divisioni con i numeri binari

 

...e converti il tutto in base 10 per verificare i risultati 

 

\bullet \ (10101)_2 : (111)_2

 

\begin{array}{c c c c c | c c c} \cline{1-4}1 & 0 & 1 & 0 & 1 & 1 & 1 & 1\\ \cline{6-8} &1&1&1& {\color{blue}\downarrow}&1&1& \\ \cline{1-4}=&=&1&1&1& \\ &  & 1 & 1 & 1& \\ \cline{3-5} &  & = & = &  = \end{array}

 

Quindi (10101)_2 : (111)_2 = (11)_2

 

Convertendo i tre numeri binari in base 10: (10101)2 = 21; (111)2=7; (11)2=3 e 21:7=3

 

\bullet \ (11001)_2 : (101)_2

 

\begin{array}{c c c c c | c c c} \cline{1-3}1 & 1 & 0 & 0 & 1 & 1 & 0 & 1 \\ \cline{6-8} 1&0&1&{\color{red}\downarrow}& {\color{blue}\downarrow}&1&0&1 \\ \cline{1-3}=&=&1&0&{\color{blue}\downarrow}& \\ &  & 0 & 0 & {\color{blue}\downarrow}& \\ \cline{3-4} &  & 1 & 0 &  1 \\ & & 1 & 0 & 1 \\ \cline{3-5} & & = & = & = & \end{array}

 

Ovvero (11001)_2 : (101)_2 = (101)_2

 

Passando alla base 10 ne avremo la conferma, infatti:

 

\underbrace{(11001)_2}_{25} : \underbrace{(101)_2}_{5} = \underbrace{(101)_2}_{5}

 

Verificate il risultato delle seguenti divisioni tra numeri binari

 

\bullet \ (1010)_2 : (10)_2 = (101)_2

 

\bullet \ (10010)_2 : (110)_2 = (11)_2

 

\bullet \ (100011)_2 : (101)_2 = (111)_2

 


 

That's all! In caso di dubbi leggete le lezioni correlate cliccando sull'immagine in basso e se non dovesse bastare non esitate a contattarci. Wink

 

Buon proseguimento su YouMath,

Giuseppe Carichino (Galois)

 

Lezione correlata...............Lezione correlata


Tags: esercizi svolti sul sistema binario - esercizi risolti sulle operazioni con numeri binari e sula passaggio dalla base 2 alla base 10.