Upload
michele-maffucci
View
5.521
Download
0
Embed Size (px)
DESCRIPTION
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.
Citation preview
Operazioni con numeri binariCorso di recupero - biennio integrato
lezione 2
Prof. Michele Maffucci
CC-BY-SA
Introduzione
Prof. Michele MaffucciCC-BY-SA
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
Prof. Michele Maffucci
Argomenti
● addizione● sottrazione● moltiplicazione● divisione● somme algebriche● rappresentazione dei numeri negativi● esercizi
Struttura della lezione
CC-BY-SA
Sistemi numerici
Addizione binaria
Prof. Michele MaffucciCC-BY-SA
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 = 00 + 1 = 11 + 0 = 11 + 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.
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
Sottrazione binaria
Prof. Michele MaffucciCC-BY-SA
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 = 00 - 1 = 1 con riporto negativo di 11 - 0 = 11 - 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.
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.
Moltiplicazione binaria
Prof. Michele MaffucciCC-BY-SA
La moltiplicazione binaria, intesa come addizione ripetuta, segue le stesse regole della moltiplicazione decimale. Questa la tabella corrispondente:
Prof. Michele Maffucci
Operazioni con numeri binari Moltiplicazione binaria
CC-BY-SA
0 x 0 = 00 x 1 = 01 x 0 = 01 x 1 = 1
Esercizio: moltiplicazione di (1111)2 per (10)2
binario decimale
1 1 1 1 moltiplicando 1 5
1 0 moltiplicatore x 2
x 0 0 0 0 3 0
1 1 1 1 -
1 1 1 1 0
Prof. Michele Maffucci
Operazioni con numeri binari Moltiplicazione binaria
CC-BY-SA
Esercizio: moltiplicazione di (10111)2 per (110)2
binario decimale
1 0 1 1 1 moltiplicando 2 3
x 1 1 0 moltiplicatore x 2
0 0 0 0 0 1 3 8
1 0 1 1 1 -
1 0 1 1 1 -
1 0 0 0 1 0 1 0
Divisione binaria
Prof. Michele MaffucciCC-BY-SA
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
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
Complemento a 1 e 2
Prof. Michele MaffucciCC-BY-SA
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
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
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
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
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
01100100bit inalteratibit scambiati
Complemento a 2 - metodo 3
Complemento a 1 e 2
Somme algebriche
Prof. Michele MaffucciCC-BY-SA
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
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
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
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 = 1101Risultato in valore assoluto = Complemento a 2 = Complemento a 1 + 1 = 0010 + 1 = 0011
Poiché il bit di riporto è 0 il numero risulta negativo.
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
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.
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.
Rappresentazione dei numeri negativi
Prof. Michele MaffucciCC-BY-SA
● 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
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
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
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
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
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
Esercizi
Prof. Michele MaffucciCC-BY-SA
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 + 1011001100010001 + 11110110111111 + 1110011010001110 + 10111011
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 - 100101101001100 - 1010110011111011 - 10000111011010011 - 110101111
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 11011100101 x 10101010011 x 11111110101 x 10011
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 : 1001011111 : 1011100010 : 11101110000 : 1000
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 - 3452 - 7342 - 7637 - 48
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 - 7731 - 9823 - 5118 - 73
GrazieProf. Michele Maffucci
www.twitter.com/maffucci/www.facebook.com/maffucci.it/plus.google.com/+MicheleMaffucci/
it.linkedin.com/in/maffucci
Licenza presentazione: