fondamenti esercitazioni parte2c
TRANSCRIPT
FONDAMENTI DI INFORMATICA
FONDAMENTI DI INFORMATICA
ESERCITAZIONI ANNO ACCADEMICO 2012-2013
DOTT. FABRIZIO SOLINAS
Mail: [email protected]
FONDAMENTI DI INFORMATICA
UNIVERSITA' DI CAGLIARI-CORSO DI LAUREA IN INFORMATICA 2
Parte 2c: INDICE
• RAPPRESENTAZIONE DI NUMERI NEGATIVI
MODULO E SEGNO
COMPLEMENTO A 1
COMPLEMENTO A 2
• OVERFLOW
FONDAMENTI DI INFORMATICA
UNIVERSITA' DI CAGLIARI-CORSO DI LAUREA IN INFORMATICA 3
Parte 2c
CODIFICAZIONE DEI NUMERI.
RAPPRESENTAZIONE DI NUMERI NEGATIVI
MODULO E SEGNO.
IL NUMERO VIENE RAPPRESENTATO ATTRAVERSO
– MODULO, IL SUO VALORE ASSOLUTO
– SEGNO, 0: POSITIVO, 1: NEGATIVO
IL RANGE: -2N-1 - 1,..…,0,..…,2N-1 - 1
FONDAMENTI DI INFORMATICA
UNIVERSITA' DI CAGLIARI-CORSO DI LAUREA IN INFORMATICA 4
Parte 2c
CODIFICAZIONE DEI NUMERI.
RAPPRESENTAZIONE DI NUMERI NEGATIVI
MODULO E SEGNO.
ESEMPIO:
– PER N=8 I NUMERI +13 E -13
FONDAMENTI DI INFORMATICA
UNIVERSITA' DI CAGLIARI-CORSO DI LAUREA IN INFORMATICA 5
Parte 2c
CODIFICAZIONE DEI NUMERI.
RAPPRESENTAZIONE DI NUMERI NEGATIVI
MODULO E SEGNO.
ESEMPIO:
– ESISTONO DUE 0
FONDAMENTI DI INFORMATICA
UNIVERSITA' DI CAGLIARI-CORSO DI LAUREA IN INFORMATICA 6
Parte 2c
CODIFICAZIONE DEI NUMERI.
RAPPRESENTAZIONE DI NUMERI NEGATIVI
COMPLEMENTO A 1.
IL NUMERO POSITIVO NELLA TRADIZIONALE FORMA BINARIA
IL NUMERO NEGATIVO NEL COMPLEMENTO A 1 DEL NUMERO
POSITIVO
(i bit a 1 diventano 0 e viceversa)
FONDAMENTI DI INFORMATICA
UNIVERSITA' DI CAGLIARI-CORSO DI LAUREA IN INFORMATICA 7
Parte 2c
CODIFICAZIONE DEI NUMERI.
RAPPRESENTAZIONE DI NUMERI NEGATIVI
COMPLEMENTO A 1.
ESEMPIO:
– RAPPRESENTAZIONE IN FORMA COMPLEMENTO A 1 DEL NUMERO -33 IN 1 BYTE
FONDAMENTI DI INFORMATICA
UNIVERSITA' DI CAGLIARI-CORSO DI LAUREA IN INFORMATICA 8
Parte 2c
CODIFICAZIONE DEI NUMERI.
RAPPRESENTAZIONE DI NUMERI NEGATIVI
COMPLEMENTO A 1. ADDIZIONE.
ESEMPIO 1:
– ADDIZIONARE I NUMERI +33 E -21 IN UN BYTE:
FONDAMENTI DI INFORMATICA
UNIVERSITA' DI CAGLIARI-CORSO DI LAUREA IN INFORMATICA 9
Parte 2c
CODIFICAZIONE DEI NUMERI.
RAPPRESENTAZIONE DI NUMERI NEGATIVI
COMPLEMENTO A 1. ADDIZIONE.
ESERCIZIO 1:
– ADDIZIONARE I NUMERI -33 E -21 IN UN BYTE:
FONDAMENTI DI INFORMATICA
UNIVERSITA' DI CAGLIARI-CORSO DI LAUREA IN INFORMATICA 10
Parte 2c
CODIFICAZIONE DEI NUMERI.
RAPPRESENTAZIONE DI NUMERI NEGATIVI
COMPLEMENTO A 1. ADDIZIONE.
ESERCIZIO 1:
– ADDIZIONARE I NUMERI -33 E -21 IN UN BYTE:
FONDAMENTI DI INFORMATICA
UNIVERSITA' DI CAGLIARI-CORSO DI LAUREA IN INFORMATICA 11
CODIFICAZIONE DELL’INFORMAZIONE
CODIFICAZIONE DEI NUMERI.
RAPPRESENTAZIONE DI NUMERI NEGATIVI
COMPLEMENTO A 2.
• Si effettua il complemento a 1 e poi si aggiunge 1 (invertire tutti i bit
partendo dal primo 1, escluso, che si incontra leggendo il valore
assoluto da destra verso sinistra).
FONDAMENTI DI INFORMATICA
UNIVERSITA' DI CAGLIARI-CORSO DI LAUREA IN INFORMATICA 12
CODIFICAZIONE DELL’INFORMAZIONE
CODIFICAZIONE DEI NUMERI.
RAPPRESENTAZIONE DI NUMERI NEGATIVI
COMPLEMENTO A 2.
ESEMPIO:
– RAPPRESENTAZIONE IN FORMA COMPLEMENTO A DUE DEL NUMERO -72 IN 1
BYTE
FONDAMENTI DI INFORMATICA
UNIVERSITA' DI CAGLIARI-CORSO DI LAUREA IN INFORMATICA 13
Parte 2c
CODIFICAZIONE DEI NUMERI.
RAPPRESENTAZIONE DI NUMERI NEGATIVI
COMPLEMENTO A 2.
ESERCIZIO 1:
– RAPPRESENTAZIONE IN FORMA COMPLEMENTO A DUE DEL NUMERO -53 IN UN
BYTE
FONDAMENTI DI INFORMATICA
UNIVERSITA' DI CAGLIARI-CORSO DI LAUREA IN INFORMATICA 14
Parte 2c
CODIFICAZIONE DEI NUMERI.
RAPPRESENTAZIONE DI NUMERI NEGATIVI
COMPLEMENTO A 2.
SOLUZIONE 1:
– RAPPRESENTAZIONE IN FORMA COMPLEMENTO A DUE DEL NUMERO -53 IN UN
BYTE
FONDAMENTI DI INFORMATICA
Parte 2c: Esercizi 1/2
• Rappresentare in modulo e segno e complemento a 2 i seguenti
numeri negativi su 10 bit:
-31
-109
-321
• Come procedere:
In modulo e segno calcolare la rappresentazione binaria del
valore assoluto del numero e mettere a 1 il bit del segno
In complemento a 2 calcolare la rappresentazione binaria del
valore assoluto del numero e invertire tutti i bit partendo dal primo
1, escluso, che si incontra leggendo il valore assoluto da destra
verso sinistra
UNIVERSITA' DI CAGLIARI-CORSO DI LAUREA IN INFORMATICA 15
FONDAMENTI DI INFORMATICA
Parte 2c: Esercizi 2/2
• Modulo e segno:
-31 [1000011111]
-109 [1001101101]
-321 [1101000001]
• Complemento a 2:
-31 (valore assoluto: 0000011111) 1111100001
-109 (valore assoluto: 0001101101) 1110010011
-321 (valore assoluto: 0101000001) 1010111111
UNIVERSITA' DI CAGLIARI-CORSO DI LAUREA IN INFORMATICA 16
FONDAMENTI DI INFORMATICA
Parte 2c: Esercizi 1/2
• A quali numeri decimali corrispondono i seguenti numeri binari
rappresentati in modulo e segno e in complemento a 2?
100110
11110
111
0101
• Come procedere:
In modulo e segno eliminare il bit del segno e calcolare il valore assoluto
in notazione decimale. Il risultato sara il valore assoluto se il bit di segno e
0, oppure il corrispondente numero negativo se il bit di segno e 1.
In complemento a 2, se il bit di segno e 1, calcolare la rappresentazione
binaria del valore assoluto del numero invertendo tutti i bit partendo dal
primo 1, escluso, che si incontra leggendo la stringa binaria da destra verso
sinistra. Calcolare quindi il valore assoluto in notazione decimale. Il risultato
sara il corrispondente numero negativo. Se invece il bit di segno e 0, allora
il numero e positivo e basta calcolarne la rappresentazione decimale senza
invertire i bit.
UNIVERSITA' DI CAGLIARI-CORSO DI LAUREA IN INFORMATICA 17
100110 e negativo perche il bit del segno vale 1.
In modulo e segno il valore assoluto e 000110 = 6, quindi il risultato
e -6
In complemento a 2 il valore assoluto diventa 011010 = 26,quindi il
risultato e -26
FONDAMENTI DI INFORMATICA
Parte 2c:Esercizi 2/2
• 11110 e negativo perche il bit del segno vale 1. • In modulo e segno il valore assoluto e 01110 = 14, quindi il risultato e
-14 • In complemento a 2 il valore assoluto diventa 00010 = 2,quindi il
risultato e -2
• 111 e negativo perche il bit del segno vale 1. • In modulo e segno il valore assoluto e 011 = 3, quindi il risultato e -3 • In complemento a 2 il valore assoluto diventa 001 = 1,quindi il
risultato e -1
• 0101 e positivo perche il bit del segno vale 0. • In modulo e segno il valore assoluto e 0101 = 5, quindi il risultato e 5 • In complemento a 2 il risultato e lo stesso ottenuto per modulo e
segno, ovvero 5
UNIVERSITA' DI CAGLIARI-CORSO DI LAUREA IN INFORMATICA 18
FONDAMENTI DI INFORMATICA
UNIVERSITA' DI CAGLIARI-CORSO DI LAUREA IN INFORMATICA 19
Parte 2c
COMPLEMENTO A 2. ADDIZIONE.
ESEMPIO 1:
– ADDIZIONARE I NUMERI -33 E +21 IN UN BYTE:
FONDAMENTI DI INFORMATICA
UNIVERSITA' DI CAGLIARI-CORSO DI LAUREA IN INFORMATICA 20
Parte 2c
COMPLEMENTO A 2. ADDIZIONE.
ESERCIZIO 1:
– ADDIZIONARE I NUMERI -33 E -21 IN UN BYTE:
FONDAMENTI DI INFORMATICA
UNIVERSITA' DI CAGLIARI-CORSO DI LAUREA IN INFORMATICA 21
CODIFICAZIONE DELL’INFORMAZIONE
COMPLEMENTO A 2. ADDIZIONE.
SOLUZIONE:
– ADDIZIONARE I NUMERI -33 E -21 IN UN BYTE:
FONDAMENTI DI INFORMATICA
UNIVERSITA' DI CAGLIARI-CORSO DI LAUREA IN INFORMATICA 22
CODIFICAZIONE DELL’INFORMAZIONE
COMPLEMENTO A 2. ADDIZIONE.
ESERCIZIO 2:
– ADDIZIONARE I NUMERI -75 E -12 IN UN BYTE:
FONDAMENTI DI INFORMATICA
UNIVERSITA' DI CAGLIARI-CORSO DI LAUREA IN INFORMATICA 23
CODIFICAZIONE DELL’INFORMAZIONE
COMPLEMENTO A 2. ADDIZIONE.
SOLUZIONE 2:
– ADDIZIONARE I NUMERI -75 E -12 IN UN BYTE:
FONDAMENTI DI INFORMATICA
COMPLEMENTO A 2. SOTTRAZIONE.
• 01011-0100000
Come procedere:
– La sottrazione A-B puo essere fatta sommando ad A il complemento a 2 di B.
• Il complemento a 2 di 0100000 e 1100000
UNIVERSITA' DI CAGLIARI-CORSO DI LAUREA IN INFORMATICA 24
1101011 e un numero negativo in
complemento a 2. Il suo valore
assoluto e 0010101 ovvero 21.
Quindi il risultato e -21.
FONDAMENTI DI INFORMATICA
UNIVERSITA' DI CAGLIARI-CORSO DI LAUREA IN INFORMATICA 25
CODIFICAZIONE DELL’INFORMAZIONE
COMPLEMENTO A 2. SOTTRAZIONE.
ESEMPIO 1:
– SOTTRARRE I NUMERI +33 E -21 IN UN BYTE:
FONDAMENTI DI INFORMATICA
UNIVERSITA' DI CAGLIARI-CORSO DI LAUREA IN INFORMATICA 26
CODIFICAZIONE DELL’INFORMAZIONE
COMPLEMENTO A 2. SOTTRAZIONE.
ESERCIZIO 1:
– SOTTRARRE I NUMERI -33 E -21 IN UN BYTE:
FONDAMENTI DI INFORMATICA
UNIVERSITA' DI CAGLIARI-CORSO DI LAUREA IN INFORMATICA 27
CODIFICAZIONE DELL’INFORMAZIONE
COMPLEMENTO A 2. SOTTRAZIONE.
SOLUZIONE:
– SOTTRARRE I NUMERI -33 E -21 IN UN BYTE:
FONDAMENTI DI INFORMATICA
UNIVERSITA' DI CAGLIARI-CORSO DI LAUREA IN INFORMATICA 28
CODIFICAZIONE DELL’INFORMAZIONE
COMPLEMENTO A 2. SOTTRAZIONE.
ESERCIZIO 2:
– SOTTRARRE I NUMERI +33 E +21 IN UN BYTE:
FONDAMENTI DI INFORMATICA
UNIVERSITA' DI CAGLIARI-CORSO DI LAUREA IN INFORMATICA 29
CODIFICAZIONE DELL’INFORMAZIONE
COMPLEMENTO A 2. SOTTRAZIONE.
SOLUZIONE 2:
– SOTTRARRE I NUMERI +33 E +21 IN UN BYTE:
FONDAMENTI DI INFORMATICA
UNIVERSITA' DI CAGLIARI-CORSO DI LAUREA IN INFORMATICA 30
CODIFICAZIONE DELL’INFORMAZIONE
ESERCIZI RIASSUNTIVI.
FONDAMENTI DI INFORMATICA
UNIVERSITA' DI CAGLIARI-CORSO DI LAUREA IN INFORMATICA 31
CODIFICAZIONE DELL’INFORMAZIONE
ESERCIZI RIASSUNTIVI.
ESERCIZIO 1.
– DATO IL SEGUENTE NUMERO DECIMALE: 39
– INDICARE IL NUMERO CON 8 BIT ATTRAVERSO:
• RAPPRESENTAZIONE BINARIA
• RAPPRESENTAZIONE MODULO E SEGNO
• RAPPRESENTAZIONE COMPLEMENTO A 1
• RAPPRESENTAZIONE COMPLEMENTO A 2
FONDAMENTI DI INFORMATICA
UNIVERSITA' DI CAGLIARI-CORSO DI LAUREA IN INFORMATICA 32
CODIFICAZIONE DELL’INFORMAZIONE
CODIFICAZIONE DEI NUMERI.
RAPPRESENTAZIONE DI NUMERI NEGATIVI
ESERCIZI RIASSUNTIVI.
SOLUZIONE 1.
– DATO IL SEGUENTE NUMERO BINARIO: 100111
FONDAMENTI DI INFORMATICA
UNIVERSITA' DI CAGLIARI-CORSO DI LAUREA IN INFORMATICA 33
CODIFICAZIONE DELL’INFORMAZIONE
CODIFICAZIONE DEI NUMERI.
RAPPRESENTAZIONE DI NUMERI NEGATIVI
ESERCIZI RIASSUNTIVI.
ESERCIZIO 2.
– DATO IL SEGUENTE NUMERO BINARIO: 10100111
– INDICARE IL NUMERO CON 8 BIT ATTRAVERSO:
• CONVERSIONE BINARIA
• RAPPRESENTAZIONE MODULO E SEGNO
• RAPPRESENTAZIONE COMPLEMENTO A 2
• RAPPRESENTAZIONE COMPLEMENTO A 1
FONDAMENTI DI INFORMATICA
UNIVERSITA' DI CAGLIARI-CORSO DI LAUREA IN INFORMATICA 34
CODIFICAZIONE DELL’INFORMAZIONE
ESERCIZI RIASSUNTIVI.
SOLUZIONE 2.
– DATO IL SEGUENTE NUMERO BINARIO: 10100111
FONDAMENTI DI INFORMATICA
UNIVERSITA' DI CAGLIARI-CORSO DI LAUREA IN INFORMATICA 35
CODIFICAZIONE DELL’INFORMAZIONE
ESERCIZI RIASSUNTIVI.
ESERCIZIO 3.
– RAPPRESENTAZIONE COMPLEMENTO A 2 CON 8 BIT
FONDAMENTI DI INFORMATICA
UNIVERSITA' DI CAGLIARI-CORSO DI LAUREA IN INFORMATICA 36
CODIFICAZIONE DELL’INFORMAZIONE
ESERCIZI RIASSUNTIVI.
SOLUZIONE 3.
– RAPPRESENTAZIONE COMPLEMENTO A 2 CON 8 BIT
FONDAMENTI DI INFORMATICA
UNIVERSITA' DI CAGLIARI-CORSO DI LAUREA IN INFORMATICA 37
CODIFICAZIONE DELL’INFORMAZIONE
ESERCIZI RIASSUNTIVI.
ESERCIZIO 4.
– RAPPRESENTAZIONE COMPLEMENTO A 2 CON 8 BIT
FONDAMENTI DI INFORMATICA
UNIVERSITA' DI CAGLIARI-CORSO DI LAUREA IN INFORMATICA 38
CODIFICAZIONE DELL’INFORMAZIONE
ESERCIZI RIASSUNTIVI.
SOLUZIONE 4.
– RAPPRESENTAZIONE COMPLEMENTO A 2 CON 8 BIT
FONDAMENTI DI INFORMATICA
UNIVERSITA' DI CAGLIARI-CORSO DI LAUREA IN INFORMATICA 39
CODIFICAZIONE DELL’INFORMAZIONE
ESERCIZI RIASSUNTIVI.
ESERCIZIO 5.
– RAPPRESENTAZIONE COMPLEMENTO A 2 CON 8 BIT
FONDAMENTI DI INFORMATICA
UNIVERSITA' DI CAGLIARI-CORSO DI LAUREA IN INFORMATICA 40
CODIFICAZIONE DELL’INFORMAZIONE
ESERCIZI RIASSUNTIVI.
SOLUZIONE 5.
– RAPPRESENTAZIONE COMPLEMENTO A 2 CON 8 BIT
FONDAMENTI DI INFORMATICA
UNIVERSITA' DI CAGLIARI-CORSO DI LAUREA IN INFORMATICA 41
CODIFICAZIONE DELL’INFORMAZIONE
ESERCIZI RIASSUNTIVI.
ESERCIZIO 6.
– RAPPRESENTAZIONE COMPLEMENTO A 2 CON 8 BIT
FONDAMENTI DI INFORMATICA
UNIVERSITA' DI CAGLIARI-CORSO DI LAUREA IN INFORMATICA 42
CODIFICAZIONE DELL’INFORMAZIONE
ESERCIZI RIASSUNTIVI.
SOLUZIONE 6.
– RAPPRESENTAZIONE COMPLEMENTO A 2 CON 8 BIT
FONDAMENTI DI INFORMATICA
UNIVERSITA' DI CAGLIARI-CORSO DI LAUREA IN INFORMATICA 43
CODIFICAZIONE DELL’INFORMAZIONE
ESERCIZI RIASSUNTIVI.
ESERCIZIO 7.
– RAPPRESENTAZIONE COMPLEMENTO A 1 CON 8 BIT
FONDAMENTI DI INFORMATICA
UNIVERSITA' DI CAGLIARI-CORSO DI LAUREA IN INFORMATICA 44
CODIFICAZIONE DELL’INFORMAZIONE
ESERCIZI RIASSUNTIVI.
SOLUZIONE 7.
– RAPPRESENTAZIONE COMPLEMENTO A 1 CON 8 BIT
FONDAMENTI DI INFORMATICA
UNIVERSITA' DI CAGLIARI-CORSO DI LAUREA IN INFORMATICA 45
CODIFICAZIONE DELL’INFORMAZIONE
ESERCIZI RIASSUNTIVI.
ESERCIZIO 8.
– RAPPRESENTAZIONE COMPLEMENTO A 1 CON 8 BIT
FONDAMENTI DI INFORMATICA
UNIVERSITA' DI CAGLIARI-CORSO DI LAUREA IN INFORMATICA 46
CODIFICAZIONE DELL’INFORMAZIONE
ESERCIZI RIASSUNTIVI.
SOLUZIONE 8.
– RAPPRESENTAZIONE COMPLEMENTO A 1 CON 8 BIT
FONDAMENTI DI INFORMATICA
UNIVERSITA' DI CAGLIARI-CORSO DI LAUREA IN INFORMATICA 47
CODIFICAZIONE DELL’INFORMAZIONE
CODIFICAZIONE DEI NUMERI.
OVERFLOW
IL RISULTATO PREVEDE UN NUMERO DI BIT MAGGIORE DI QUELLO
DISPONIBILE
FONDAMENTI DI INFORMATICA
UNIVERSITA' DI CAGLIARI-CORSO DI LAUREA IN INFORMATICA 48
CODIFICAZIONE DELL’INFORMAZIONE
CODIFICAZIONE DEI NUMERI.
OVERFLOW
ESEMPIO: ADDIZIONE DI +7 E +6 IN MODULO E SEGNO CON 4 BIT
FONDAMENTI DI INFORMATICA
UNIVERSITA' DI CAGLIARI-CORSO DI LAUREA IN INFORMATICA 49
CODIFICAZIONE DELL’INFORMAZIONE
CODIFICAZIONE DEI NUMERI.
OVERFLOW.
RILEVAMENTO NELLA RAPPRESENTAZIONE COMPLEMENTO A 2.
ESERCIZIO 3: ADDIZIONE DI -3 E -2
1101 +
1110 =
11011
Il riporto viene scartato in quanto al di fuori
dei bit disponibili.
NON E’ OVERFLOW!!
FONDAMENTI DI INFORMATICA
Condizione di OVERFLOW
In quali dei seguenti casi si può ottenere
overflow?
Somma di due numeri con segno concorde?
[SI]
Somma di due numeri con segno discorde?
[NO]
Sottrazione di due numeri con segno concorde?
[NO]
Sottrazione di due numeri con segno discorde?
[SI]
UNIVERSITA' DI CAGLIARI-CORSO DI LAUREA IN INFORMATICA 50
FONDAMENTI DI INFORMATICA
Condizione di OVERFLOW
1101+
1010=
10111
UNIVERSITA' DI CAGLIARI-CORSO DI LAUREA IN INFORMATICA 51
Cn Cn-1
Si osservano i riporti generati dalle
colonne dei due bit poù significativi:
Se Cn = Cn-1 OK
Se Cn ≠ Cn-1 Overflow
FONDAMENTI DI INFORMATICA
Condizione di OVERFLOW
• Verificare che in 4 bit: -6 + (-6) genera OVERFLOW
-3 + 6 non genera OVERFLOW
6 + 6 genera OVERFLOW
-6 + 3 non genera OVERFLOW
UNIVERSITA' DI CAGLIARI-CORSO DI LAUREA IN INFORMATICA 52