Learning Hub

 Home Argomenti Esercizi svolti Esercizi interattivi
 Login

Operazioni tra numeri binari


Addizione

La somma binaria segue regole simili a quelle della somma decimale, ma con solo due cifre (0 e 1). Le regole sono:
0 + 0 = 0
0 + 1 = 1
1 + 0 = 1
1 + 1 = 0 (riporto 1)
1 + 1 + 1 = 1 (riporto 1)
Esempio:
\[ \begin{array}{cccc} & 1 & 0 & 1 & 1 & +\\ & 1 & 1 & 0 & 1 & =\\ \hline 1 & 1 & 0 & 0 & 0 & \\ \end{array} \]



Sottrazione

La sottrazione binaria utilizza il concetto di "prendere in prestito" come nella sottrazione decimale. Le regole sono:
\(0 - 0 = 0\)
\(1 - 0 = 1\)
\(1 - 1 = 0\)
\(0 - 1 = 1\) (prendi in prestito 1 \(\rightarrow 10 - 1\))
Esempio:
\[ \begin{array}{cccc} & 1 & 0 & 1 & 0 & -\\ & 0 & 1 & 1 & 0 & =\\ \hline & 0 & 1 & 0 & 0 \\ \end{array} \]



Moltiplicazione

La moltiplicazione binaria è simile alla moltiplicazione decimale, ma più semplice poiché i fattori possono essere solo 0 o 1. Le regole sono:
\(0 \times 0 = 0\)
\(0 \times 1 = 0\)
\(1 \times 0 = 0\)
\(1 \times 1 = 1\)
Esempio:
\[ \begin{array}{cccc} & & & 1 & 0 & 1 & \times\\ & & & 1 & 1 & 0 & =\\ \hline & & & 0 & 0 & 0 & +\\ & & 1 & 0 & 1 & 0 & +\\ & 1 & 0 & 1 & 0 & 0 & =\\ \hline & 1 & 1 & 1 & 1 & 0 \\ \end{array} \]




Moltiplicazione per potenze di 2

Nel sistema binario, moltiplicare un numero per una potenza di 2 equivale a spostare le cifre verso sinistra di tante posizioni quante sono le potenze di 2 desiderate.
Esempio
Consideriamo il numero binario \(11010\) (che corrisponde a \(26\) in decimale) e moltiplichiamolo per \(2^2\) (ovvero \(4\)):
1. Numero binario: \(11010\)
2. Spostamento a sinistra di 2 posizioni: \(11010 \rightarrow 1101000\)
3. Risultato: \(1101000\) corrisponde a \(6\) in decimale, quindi \(26 \times 4 = 104\).



Divisione

La divisione binaria è simile alla divisione decimale e può essere eseguita tramite il metodo della sottrazione ripetuta o il metodo della divisione lunga.
Esempio: (Dividiamo \(1100\) (12 in decimale) per \(11\) (3 in decimale))
\[ \begin{array}{r|l} 100 \\ \hline 11 & 1100 \\ & - 11 \\ \hline & 10 \\ & - 0 \\ \hline & 100 \quad \text{(Quoziente)} \\ & - 11 \\ \hline & 1 \quad \text{(Resto)} \\ \end{array} \]
Il risultato è \(100\) (4 in decimale) con un resto di \(1\).




Divisione per potenze di 2

Nel sistema binario, dividere un numero per una potenza di 2 equivale a spostare le cifre verso destra di tante posizioni quante sono le potenze di 2 desiderate.
Esempio
Consideriamo il numero binario \(11010\) (che corrisponde a \(26\) in decimale) e dividiamolo per \(2^2\) (ovvero \(4\)):
1. Numero binario: \(11010\)
2. Spostamento a destra di 2 posizioni:
\(11010 \rightarrow 00110\)
3. Risultato: \(00110\) corrisponde a \(6\) in decimale, quindi \(26 \div 4 = 6\).
Se il numero non è divisibile esattamente, le cifre "uscite" rappresentano il resto. Ad esempio, per \(11011\) (che corrisponde a \(27\)):
\(11011 \rightarrow 00110\) (risultato \(6\), resto \(3\))
Quindi, \(27 \div 4 = 6\) con resto \(3\).



Complemento a 1

Calcolo del Complemento a 1 (CA1)
1. Rappresentazione di numeri positivi
I numeri positivi vengono rappresentati normalmente in binario, senza alcuna modifica. Ad esempio:
Il numero decimale \(+5\) in binario su \(8\) bit è: \(00000101\).
2. Rappresentazione di numeri negativi
se è negativo rappresento su n bit il valore assoluto in binario e poi lo complemento con il CA1, per capire meglio segui i seguenti passaggi:
Esempio:
Utilizziamo il numero \(-5\) in base 10 come esempio.
Passo 1:
Iniziamo rappresentando il numero positivo \(5\) in binario: \(00000101\)
Passo 2:
Ora, invertiamo tutti i bit del numero binario \(00000101\):
\(0 \rightarrow 1\)
\(0 \rightarrow 1\)
\(0 \rightarrow 1\)
\(0 \rightarrow 1\)
\(1 \rightarrow 0\)
\(0 \rightarrow 1\)
\(1 \rightarrow 0\)
\(0 \rightarrow 1\)
Dopo aver invertito tutti i bit, otteniamo: \(11111010\)




Complemento a 2

Calcolo del Complemento a 2 (CA2)
1. Rappresentazione di numeri positivi
I numeri positivi vengono rappresentati normalmente in binario, senza alcuna modifica. Ad esempio:
Il numero decimale \(+5\) in binario su \(8\) bit è: \(00000101\).
2. Rappresentazione di numeri negativi
Per rappresentare un numero negativo in complemento a 2, segui questi passaggi:
Passo 1:
Converti il valore assoluto del numero in binario. Ad esempio, per \(-5\): \(\lvert -5 \rvert \rightarrow 00000101\).
Passo 2:
Inverti \(0\) con \(1\) e viceversa lasciando invariato il primo \(1\) da sinistra.
Per \(00000101 \rightarrow 11111010\).



Numeri Negativi

In un sistema binario, il bit più significativo viene spesso utilizzato come bit di segno: se il bit di segno è \(0\), il numero è positivo; se invece il bit di segno è \(1\), il numero è negativo.
Ad esempio, su \(4\) bit: \(0011\) rappresenta \(+3\). \(1011\) potrebbe rappresentare un numero negativo (dipende dal metodo di rappresentazione).
Tuttavia, usare solo il bit di segno può portare a problemi, come la presenza di due rappresentazioni per lo zero (\(+0\) e \(-0\)). Per questo motivo, il complemento a 2 è preferito.


Base Numero
Decimale 0123456789101112131415
Binario 01101110010111011110001001101010111100110111101111
Esadecimale 0123456789abcdef