Corso di recupero per gli allievi di classe 1 ITIS Informatica - Progetto Biennio Integrato.
Argomento della lezione:
Operazioni con numeri binari:
addizione
sottrazione
moltiplicazione
divisione
somme algebriche
rappresentazione dei numeri negativi
esercizi
Programma di recupero:
- sistemi di numerazione e cambiamenti di base;
- somme e sottrazioni in binario;
- struttura hardware e software del PC;
- foglio elettronico.
3. Queste slide sono destinate agli allievi del biennio integrato (classe 1’) che necessitano di un percorso di
recupero sugli argomenti trattati durante le lezioni ordinarie.
Il percorso scelto è un estratto delle lezioni svolte durante i miei corsi di informatica. Nelle slide vi
sono brevi trattazioni teoriche che non sostituiscono in alcun modo il libro di testo, ma sono di
supporto al recupero e all’approfondimento degli argomenti trattati a lezione.
Integrazioni a queste slide ed approfondimenti potranno essere trovate anche sul mio sito personale:
http://www.maffucci.it/
Per contatti ed ulteriori informazioni rimando alle ultime pagine di queste slide.
Grazie
Le slide e gli esercizi sono suscettibili di variazioni/correzioni che potranno
essere fatte in ogni momento.
Prof. Michele Maffucci
Sistemi numerici Introduzione
CC-BY-SA
4. Prof. Michele Maffucci
Argomenti
● addizione
● sottrazione
● moltiplicazione
● divisione
● somme algebriche
● rappresentazione dei numeri negativi
● esercizi
Struttura della lezione
CC-BY-SA
Sistemi numerici
6. Tutte le operazioni con i numeri binari soddisfano alle stesse regole valide per i numeri decimali e
risultano molto più semplici da svolgere in quanto le cifre usate sono solamente due.
Addizione binaria
Viene eseguita allo stesso modo di quella decimale, la tabella per l’addizione di due cifre binarie è la
seguente:
Prof. Michele Maffucci
Operazioni con numeri binari Addizione binaria
CC-BY-SA
0 + 0 = 0
0 + 1 = 1
1 + 0 = 1
1 + 1 = 0 con riporto di 1
Poiché nel sistema binario la cifra più alta è 1, quando la somma è maggiore di 1 essa richiede il riporto
di una cifra in pieno accordo a quanto avviene nel sistema decimale dove essendo 9 la cifra più alta ogni
somma maggiore di 9 richiede il riporto di una cifra.
7. Prof. Michele Maffucci
Operazioni con numeri binari Addizione binaria
CC-BY-SA
1R
1R
1R riporto
1 1 1 1 primo addendo 1 5
+ 1 1 1 0 secondo addendo + 1 4
1 1 1 0 1 somma 2 9
Esercizio: addizionari i numeri binari 1111 e 11100
con 1R
cifra di riporto.
Esercizio: addizionari i numeri binari 111001 e 001101
1R
1R
1R riporto 1R
1 1 1 0 0 1 primo addendo 5 7
+ 0 0 1 1 0 1 secondo addendo + 1 3
1 0 0 0 1 1 0 somma 2 9
binario decimale
binario decimale
9. Sottrazione binaria
Operazione inversa dell’addizione. Può essere eseguita come per il sistema decimale, prendendo in
prestito una cifra della colonna di ordine superiore tutte le volte che la differenza scende sotto lo 0.
La tabella che soddisfa la sottrazione binaria tra due bit è la seguente:
Prof. Michele Maffucci
Operazioni con numeri binari Sottrazione binaria
CC-BY-SA
0 - 0 = 0
0 - 1 = 1 con riporto negativo di 1
1 - 0 = 1
1 - 1 = 0
Esercizio: sottrazione di (0001101)2
e (1000110)2
1P
1P
1P
1P prestito 1P
1 0 0 0 1 1 0 minuendo 7 0
- 0 0 0 1 1 0 1 sottraendo - 1 3
0 1 1 1 0 0 1 differenza 5 7
binario decimale
con 1P
cifra presa in prestito.
10. Prof. Michele Maffucci
Operazioni con numeri binari Sottrazione binaria
CC-BY-SA
Esercizio: sottrazione di (01110)2
e (11101)2
1P
1P
1P prestito
1 1 1 0 1 minuendo 2 9
- 0 1 1 1 0 sottraendo - 1 4
0 1 1 1 1 differenza 1 5
binario decimale
La sottrazione può essere eseguita con il metodo appena visto oppure tramite il metodo del
complemento a due ottenuto invertendo tutti i bit del sottraendo, cioè scambiando tutti gli 1 in 0 e
viceversa e aggiungendo 1 al risultato. La differenza tra i due numeri si trova addizionando il
complemento del sottraendo al minuendo e trascurando l’eventuale riporto dell’ultima cifra, vedremo più
avanti in queste slide.
15. La divisione nel sistema binario segue lo stesso procedimento della divisione nel sistema decimalee si
esegue contando quante volte un numero può essere sottratto da un altro. Nel sistema binario la
determinazione del quoziente risulta semplificata essendo possibili solamente solo due valori 0 e 1.
Prof. Michele Maffucci
Operazioni con numeri binari Moltiplicazione binaria
CC-BY-SA
Esercizio: divisione di (1111)2
per (100)2
1 1 1 1 1 0 0
1 0 0 11,11
- 1 1 1
1 0 0
- 1 1 0
1 0 0
1 0 0
1 0 0
- - -
1 5 4
1 2 3,75
- 3 0
2 8
- 2 0
2 0
- -
binario decimale
dividendo divisore dividendo divisore
16. Si può notare che lo spostamento delle cifre significative di
un numero binario di N posti verso sinistra rispetto alla
virgola, equivale a dividere il suo valore per 2N
.
Si consideri ad esempio di voler dividere per 23
= 8 il numero
(1100100)2
= (100)10
si ottiene immediatamente il risutato:
(1100,1)2
= (12,5)10
Prof. Michele Maffucci
Operazioni con numeri binari Moltiplicazione binaria
CC-BY-SA
18. Prof. Michele Maffucci
Operazioni con numeri binari
CC-BY-SA
Si consideri un numero binario costituito da n bit si definisce
complemento a uno di un numero A la quantità:
A1
= (2n
-1)-A
detto anche solo complemento.
Esempio. A = 11001 il suo complemento sarà:
A1
= (25
-1) - 11001 = (100000-1) -11001 = 01111 - 11001 =
= 00110
Complemento a 1 - metodo 1
Complemento a 1 e 2
19. Prof. Michele Maffucci
Operazioni con numeri binari
CC-BY-SA
Più sinteticamente per la determinazione del complemento a 1
è possibile applicare la seguente regola pratica:
il complemento a 1 di un numero binario si ottiene
scambiando tra loro gli 0 con gli 1 e viceversa.
Esempio 1: A = 11001 il suo complemento sarà
A1
= 00110
Esempio 2: A = 10011100 il suo complemento sarà
A1
= 01100011
Complemento a 1 - metodo 2
Complemento a 1 e 2
20. Prof. Michele Maffucci
Operazioni con numeri binari
CC-BY-SA
Si consideri un numero binario costituito da n bit si definisce
complemento a due di un numero A la quantità:
A2
= 2n
-A
Esempio. Si consideri il numero A = 10011100 il
complemento a 2 di A sarà:
A2
= 28
- A = 100000000 - 10011100
1 0 0 0 0 0 0 0 0
1 0 0 1 1 1 0 0
0 0 1 1 0 0 1 0 0
overflow - questo bit va
oltre la dimensione del
numero dei bit di A,
qundi si elimina
Complemento a 2 - metodo 1
Complemento a 1 e 2
21. Prof. Michele Maffucci
Operazioni con numeri binari
CC-BY-SA
Più sinteticamente per la determinazione del complemento a 2
è possibile applicare la seguente regola pratica:
il complemento a 2 di un numero binario si ottiene
sommando 1 al suo complemento a 1.
Esempio. Si consideri il numero A = 10011100 il
complemento a 2 di A sarà:
A = 10011100 > A1
= 01100011
A2
= A1
+ 1 = 01100011 + 1 = 01100100
Complemento a 2 - metodo 2
Complemento a 1 e 2
22. Prof. Michele Maffucci
Operazioni con numeri binari
CC-BY-SA
Per calcolare il complemento a due è possibile applicare
anche la seguente regola pratica:
dato un numero N, per ottenere il suo complemento a 2, si
riscrivono i bit del numero stesso a partire da destra
lasciando inalterati tutti gli zeri fino al primo bit 1
compreso, mentre i successivi bit vengono scambiati (gli
0 in 1 e gli 1 in 0)
Esempio: A = 10011100
A 10011100
A2
01100100
bit inalteratibit scambiati
Complemento a 2 - metodo 3
Complemento a 1 e 2
24. Prof. Michele Maffucci
Operazioni con numeri binari Somme algebriche
CC-BY-SA
1. Per effettuare la somma non è necessario
badare ai segni degli operandi, l’
operazione si effettua come accade per la
somma tra numeri binari già vista.
2. Per effettuare la sottrazione si possono
usare due tecniche una che utilizza il
complemento a 2 ed un’altra che utilizza il
complemento a 1
Regole di calcolo
25. Prof. Michele Maffucci
Operazioni con numeri binari
CC-BY-SA
Sottrazione con complemento a 2
La differenza tra due numeri binari A e B si ottiene
sommando ad A il complemento a 2 di B, tenendo
conto che:
A. se il bit di riporto complessivo è 1 il risultato è
corretto e il procedimento si conclude in questo caso
il numero risulta positivo (il bit di riporto viene
scartato);
B. se invece vale 0 si deve effettuare un ulteriore
complemento a 2 per determinare l’effettivo risultato
in valore assoluto. Poiché si effettua nuovamente un
complemento a 2 il risultato sarà da considerare
negativo.
Somme algebriche
26. Prof. Michele Maffucci
Operazioni con numeri binari
CC-BY-SA
Sottrazione con complemento a 2
Somme algebriche
12 - 1100 - 0110 + 1100 +
9 = - 1001 = 1 = 0111 =
3 0111 10011
DECIMALE BINARIO
BINARIO con complemento a 2
del sottraendo
Complemento a 2 = Complemento a 1 del sottraendo + 1
Esempio 1: si effettui la differenza 12 - 9 in binario
bit di riporto è 1, si scarta e il calcolo si conclude. Il risultato è il numero trovato
27. Prof. Michele Maffucci
Operazioni con numeri binari
CC-BY-SA
Sottrazione con complemento a 2
Somme algebriche
9 - 1001 - 0011 + 1100 +
12 = - 1100 = 1 = 0100 =
- 3 0100 01101
DECIMALE BINARIO
BINARIO con complemento a 2
del sottraendo
Esempio 2: si effettui la differenza 9 - 12 in binario
Complemento a 2 = Complemento a 1 del sottraendo + 1
bit di riporto è 0, il risultato del calcolo sarà un numero negativo, si procede con il
calcolo effettuando un’ulteriore complemento a 2 (il complemento a 2 si effettua
scartando il riporto 0). Il risultato è espresso in valore assoluto.
Risultato parziale = 1101
Risultato in valore assoluto = Complemento a 2 = Complemento a 1 + 1 = 0010 + 1 = 0011
Poiché il bit di riporto è 0 il numero risulta negativo.
28. Prof. Michele Maffucci
Operazioni con numeri binari
CC-BY-SA
Sottrazione con complemento a 1
Il risultato della sottrazione tra due numeri binari A
e B si ottiene sommando ad A il complemento a 1
di B più il riporto della cifra più significativa tenendo
conto che:
A. se il riporto è 1 il risultato e corretto ed il calcolo
si conclude. Il risultato è positivo;
B. se il riporto è 0 è necessario un’ulteriore
complemento a 1. Il risultato è negativo.
Somme algebriche
29. Prof. Michele Maffucci
Operazioni con numeri binari
CC-BY-SA
Sottrazione con complemento a 2
Somme algebriche
12 - 1100 - 1100 +
9 = - 1001 = 0110 =
3 10010
1
0011
DECIMALE BINARIO
BINARIO con complemento a 1
del sottraendo
Esempio 1: si effettui la differenza 12 - 9 in binario
bit di riporto è 1, indica che il risultato sarà positivo. Si sposta aggiungendolo al numero.
30. Prof. Michele Maffucci
Operazioni con numeri binari
CC-BY-SA
Sottrazione con complemento a 2
Somme algebriche
9 - 1001 - 1001 +
12 = 1100 = 0011 =
- 3 01100
0011
DECIMALE BINARIO
BINARIO con complemento a 1
del sottraendo
Esempio 1: si effettui la differenza 12 - 9 in binario
bit di riporto è 0, indica che il risultato sarà negativo.
Si effettua un’ulteriore complemento a 1 per ottenere il valore assoluto della differenza.
32. ● Quando operiamo con i numeri molto spesso non si
considera significativa la dimensione del numero
stesso se non per il fatto che se è molto grande bisognerà
impegare più tempo per scriverlo.
● E’ importante però, quando i numeri devono essere
elaborati da un dispositivo elettronico, ad es. un
computer conoscere la dimensione dei numeri, in
quanto questi andranno ad essere memorizzati all’interno
della memoria del dispositivo (registri di memoria) che ha
dimensione fissa.
● Quindi caratteristica fondamentale è la dimensione in bit
dei registri di memoria, che rappresentano anche la
dimensione massima del numero rappresentabile. Da ciò
se ne deduce che in un computer si potranno solo
utilizzare un numero finito di numeri.
Prof. Michele Maffucci
Operazioni con numeri binari
CC-BY-SA
Rappresentazione dei numeri negativi
33. Supponiamo che il registro di memoria, il nostro contenitore,
sia lungo 4 bit:
Prof. Michele Maffucci
Operazioni con numeri binari
CC-BY-SA
con 4 bit è possibile rappresentare tutti i numeri da 0 a 16
0 0 0 0
1 1 1 1
Rappresentazione dei numeri negativi
34. Prof. Michele Maffucci
Operazioni con numeri binari
CC-BY-SA
I numeri possono essere sia positivi che negativi, quindi
bisogna trovare un modo per rappresentare il segno:
positivo +
negativo -
Una strategia che si potrebbe adottatare è quella di utilizzare
1 bit per il segno, quindi se il numero binario è costituito da N
bit utilizzeremo N-1 bit per esprimere il valore assoluto del
numero, chiamato anche modulo ed 1 bit per il segno (nel
disegno indicato con S:
S modulo
Problema! Una simile rappresentazione rende possibile una
doppia rappresentazione dello 0: +0 e -0
Rappresentazione dei numeri negativi
35. Prof. Michele Maffucci
Operazioni con numeri binari
CC-BY-SA
Esempio. Usando una codifica a 4 bit esprimere i numeri:
+510
= 0101
-510
= 1011
ciò comporta una (errata) doppia rappresentazione dello
zero:
0000 = +010
1000 = -010
Per risolvere il problema della doppia rappresentazione dello
si utilizzano i metodi di complemento a 1 e complemento a 2.
Rappresentazione dei numeri negativi
36. Prof. Michele Maffucci
Operazioni con numeri binari
CC-BY-SA
La rappresentazione dei numeri binari relativi (interi con
segno) avviene esprimendo il numero binario in
complemento a 2, tenendo conto che il bit più significativo
rappresenta il segno del numero.
Esempio: si consideri il numero relativo in base due
A = 1001010 si trovi il suo equivalente in decimale.
Considerato che il bit del segno è 1 vuol dire che il numero è
negativo, si complementa dapprima a 2 e poi si passa alla
conversione in decimale:
A = 1001010 > A1
= 0110101 > A2
= A1
+ 1 > 0110101 + 1 =
= 0110110 = 5410
e quindi poichè il bit del segno di A era 1 il
numero convertito sarà -5410
Numeri con segno
Rappresentazione dei numeri negativi
37. Prof. Michele Maffucci
Operazioni con numeri binari
CC-BY-SA
Esempio: si consideri il numero in base 10 A = -310
esprimere
il numero in base due supponendo un campo di esistenza di 4
bit (campo di esistenza: totale dei bit, segno più mantissa
usati per esprimere il numero)
Poiché il numero è negativo, il numero in binario avrà
sicuramente 1 come bit più significativo.
Si consideri il numero senza segno e se ne faccia il
complemento a 2:
(3)10
= 0011 se ne fa il complemento a 1: 1100 e si somma 1:
1100 + 1 = 1101 = -310
Numeri con segno
Rappresentazione dei numeri negativi
39. Eseguire la somma dei seguenti numeri in base 2 il risultato
ottenuto convertirlo in base 10
Nella risoluzione mostrare tutti i passaggi.
Prof. Michele Maffucci
Sistemi numerici
CC-BY-SA
Esercizi
operazioni con numeri binari
somme in binario
10011001 + 1011001
100010001 + 111101
10111111 + 11100110
10001110 + 10111011
40. Eseguire la sottrazione dei seguenti numeri in base 2 il
risultato ottenuto convertirlo in base 10
Nella risoluzione mostrare tutti i passaggi.
Prof. Michele Maffucci
Sistemi numerici
CC-BY-SA
Esercizi
operazioni con numeri binari
sottrazioni in binario
1010100 - 100101
101001100 - 10101100
11111011 - 1000011
1011010011 - 110101111
41. Eseguire la moltiplicazione dei seguenti numeri in base 2 il
risultato ottenuto convertirlo in base 10
Nella risoluzione mostrare tutti i passaggi.
Prof. Michele Maffucci
Sistemi numerici
CC-BY-SA
Esercizi
operazioni con numeri binari
moltiplicazioni in binario
1000001 x 11011
100101 x 101010
10011 x 11111
110101 x 10011
42. Eseguire la divisione dei seguenti numeri in base 2 il risultato
ottenuto convertirlo in base 10
Nella risoluzione mostrare tutti i passaggi.
Prof. Michele Maffucci
Sistemi numerici
CC-BY-SA
Esercizi
operazioni con numeri binari
divisioni in binario
111100 : 100
1011111 : 101
1100010 : 1110
1110000 : 1000
43. Eseguire la differenza in complemento a 2 dei seguenti
numeri in base 2.
Nella risoluzione mostrare tutti i passaggi.
Prof. Michele Maffucci
Sistemi numerici
CC-BY-SA
Esercizi
operazioni con numeri binari
sottrazione in comp. a 2
27 - 34
52 - 73
42 - 76
37 - 48
44. Eseguire la differenza in complemento a 1 dei seguenti
numeri in base 2.
Nella risoluzione mostrare tutti i passaggi.
Prof. Michele Maffucci
Sistemi numerici
CC-BY-SA
Esercizi
operazioni con numeri binari
sottrazione in comp. a 1
55 - 77
31 - 98
23 - 51
18 - 73