1. FONDAMENTI DI INFORMATICA
FONDAMENTI DI INFORMATICA
ESERCITAZIONI ANNO ACCADEMICO 2012-2013
DOTT. FABRIZIO SOLINAS
Mail: fabrizio.solinas@unica.it
2. FONDAMENTI DI INFORMATICA
Parte 2c: INDICE
• RAPPRESENTAZIONE DI NUMERI NEGATIVI
MODULO E SEGNO
COMPLEMENTO A 1
COMPLEMENTO A 2
• OVERFLOW
UNIVERSITA' DI CAGLIARI-CORSO DI LAUREA IN INFORMATICA 2
3. FONDAMENTI DI INFORMATICA
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
UNIVERSITA' DI CAGLIARI-CORSO DI LAUREA IN INFORMATICA 3
4. FONDAMENTI DI INFORMATICA
Parte 2c
CODIFICAZIONE DEI NUMERI.
RAPPRESENTAZIONE DI NUMERI NEGATIVI
MODULO E SEGNO.
ESEMPIO:
– PER N=8 I NUMERI +13 E -13
UNIVERSITA' DI CAGLIARI-CORSO DI LAUREA IN INFORMATICA 4
5. FONDAMENTI DI INFORMATICA
Parte 2c
CODIFICAZIONE DEI NUMERI.
RAPPRESENTAZIONE DI NUMERI NEGATIVI
MODULO E SEGNO.
ESEMPIO:
– ESISTONO DUE 0
UNIVERSITA' DI CAGLIARI-CORSO DI LAUREA IN INFORMATICA 5
6. FONDAMENTI DI INFORMATICA
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)
UNIVERSITA' DI CAGLIARI-CORSO DI LAUREA IN INFORMATICA 6
7. FONDAMENTI DI INFORMATICA
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
UNIVERSITA' DI CAGLIARI-CORSO DI LAUREA IN INFORMATICA 7
8. FONDAMENTI DI INFORMATICA
Parte 2c
CODIFICAZIONE DEI NUMERI.
RAPPRESENTAZIONE DI NUMERI NEGATIVI
COMPLEMENTO A 1. ADDIZIONE.
ESEMPIO 1:
– ADDIZIONARE I NUMERI +33 E -21 IN UN BYTE:
UNIVERSITA' DI CAGLIARI-CORSO DI LAUREA IN INFORMATICA 8
9. FONDAMENTI DI INFORMATICA
Parte 2c
CODIFICAZIONE DEI NUMERI.
RAPPRESENTAZIONE DI NUMERI NEGATIVI
COMPLEMENTO A 1. ADDIZIONE.
ESERCIZIO 1:
– ADDIZIONARE I NUMERI -33 E -21 IN UN BYTE:
UNIVERSITA' DI CAGLIARI-CORSO DI LAUREA IN INFORMATICA 9
10. FONDAMENTI DI INFORMATICA
Parte 2c
CODIFICAZIONE DEI NUMERI.
RAPPRESENTAZIONE DI NUMERI NEGATIVI
COMPLEMENTO A 1. ADDIZIONE.
ESERCIZIO 1:
– ADDIZIONARE I NUMERI -33 E -21 IN UN BYTE:
UNIVERSITA' DI CAGLIARI-CORSO DI LAUREA IN INFORMATICA 10
11. FONDAMENTI DI INFORMATICA
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).
UNIVERSITA' DI CAGLIARI-CORSO DI LAUREA IN INFORMATICA 11
12. FONDAMENTI DI INFORMATICA
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
UNIVERSITA' DI CAGLIARI-CORSO DI LAUREA IN INFORMATICA 12
13. FONDAMENTI DI INFORMATICA
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
UNIVERSITA' DI CAGLIARI-CORSO DI LAUREA IN INFORMATICA 13
14. FONDAMENTI DI INFORMATICA
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
UNIVERSITA' DI CAGLIARI-CORSO DI LAUREA IN INFORMATICA 14
15. 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
16. 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
17. 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 100110 è negativo perché il bit del segno vale 1.
11110 In modulo e segno il valore assoluto è 000110 = 6, quindi il risultato
è -6
111 In complemento a 2 il valore assoluto diventa 011010 = 26,quindi il
0101 risultato è -26
• Come procedere:
In modulo e segno eliminare il bit del segno e calcolare il valore assoluto
in notazione decimale. Il risultato sarà il valore assoluto se il bit di segno è
0, oppure il corrispondente numero negativo se il bit di segno è 1.
In complemento a 2, se il bit di segno è 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
sarà il corrispondente numero negativo. Se invece il bit di segno è 0, allora
il numero è positivo e basta calcolarne la rappresentazione decimale senza
invertire i bit.
UNIVERSITA' DI CAGLIARI-CORSO DI LAUREA IN INFORMATICA 17
18. FONDAMENTI DI INFORMATICA
Parte 2c:Esercizi 2/2
• 11110 è negativo perché il bit del segno vale 1.
• In modulo e segno il valore assoluto è 01110 = 14, quindi il risultato è
-14
• In complemento a 2 il valore assoluto diventa 00010 = 2,quindi il
risultato è -2
• 111 è negativo perché il bit del segno vale 1.
• In modulo e segno il valore assoluto è 011 = 3, quindi il risultato è -3
• In complemento a 2 il valore assoluto diventa 001 = 1,quindi il
risultato è -1
• 0101 è positivo perché il bit del segno vale 0.
• In modulo e segno il valore assoluto è 0101 = 5, quindi il risultato è 5
• In complemento a 2 il risultato è lo stesso ottenuto per modulo e
segno, ovvero 5
UNIVERSITA' DI CAGLIARI-CORSO DI LAUREA IN INFORMATICA 18
19. FONDAMENTI DI INFORMATICA
Parte 2c
COMPLEMENTO A 2. ADDIZIONE.
ESEMPIO 1:
– ADDIZIONARE I NUMERI -33 E +21 IN UN BYTE:
UNIVERSITA' DI CAGLIARI-CORSO DI LAUREA IN INFORMATICA 19
20. FONDAMENTI DI INFORMATICA
Parte 2c
COMPLEMENTO A 2. ADDIZIONE.
ESERCIZIO 1:
– ADDIZIONARE I NUMERI -33 E -21 IN UN BYTE:
UNIVERSITA' DI CAGLIARI-CORSO DI LAUREA IN INFORMATICA 20
21. FONDAMENTI DI INFORMATICA
CODIFICAZIONE DELL’INFORMAZIONE
COMPLEMENTO A 2. ADDIZIONE.
SOLUZIONE:
– ADDIZIONARE I NUMERI -33 E -21 IN UN BYTE:
UNIVERSITA' DI CAGLIARI-CORSO DI LAUREA IN INFORMATICA 21
22. FONDAMENTI DI INFORMATICA
CODIFICAZIONE DELL’INFORMAZIONE
COMPLEMENTO A 2. ADDIZIONE.
ESERCIZIO 2:
– ADDIZIONARE I NUMERI -75 E -12 IN UN BYTE:
UNIVERSITA' DI CAGLIARI-CORSO DI LAUREA IN INFORMATICA 22
23. FONDAMENTI DI INFORMATICA
CODIFICAZIONE DELL’INFORMAZIONE
COMPLEMENTO A 2. ADDIZIONE.
SOLUZIONE 2:
– ADDIZIONARE I NUMERI -75 E -12 IN UN BYTE:
UNIVERSITA' DI CAGLIARI-CORSO DI LAUREA IN INFORMATICA 23
24. FONDAMENTI DI INFORMATICA
COMPLEMENTO A 2. SOTTRAZIONE.
• 01011-0100000
Come procedere:
– La sottrazione A-B può essere fatta sommando ad A il complemento a 2 di B.
• Il complemento a 2 di 0100000 è 1100000
1101011 è un numero negativo in
complemento a 2. Il suo valore
assoluto è 0010101 ovvero 21.
Quindi il risultato è -21.
UNIVERSITA' DI CAGLIARI-CORSO DI LAUREA IN INFORMATICA 24
25. FONDAMENTI DI INFORMATICA
CODIFICAZIONE DELL’INFORMAZIONE
COMPLEMENTO A 2. SOTTRAZIONE.
ESEMPIO 1:
– SOTTRARRE I NUMERI +33 E -21 IN UN BYTE:
UNIVERSITA' DI CAGLIARI-CORSO DI LAUREA IN INFORMATICA 25
26. FONDAMENTI DI INFORMATICA
CODIFICAZIONE DELL’INFORMAZIONE
COMPLEMENTO A 2. SOTTRAZIONE.
ESERCIZIO 1:
– SOTTRARRE I NUMERI -33 E -21 IN UN BYTE:
UNIVERSITA' DI CAGLIARI-CORSO DI LAUREA IN INFORMATICA 26
27. FONDAMENTI DI INFORMATICA
CODIFICAZIONE DELL’INFORMAZIONE
COMPLEMENTO A 2. SOTTRAZIONE.
SOLUZIONE:
– SOTTRARRE I NUMERI -33 E -21 IN UN BYTE:
UNIVERSITA' DI CAGLIARI-CORSO DI LAUREA IN INFORMATICA 27
28. FONDAMENTI DI INFORMATICA
CODIFICAZIONE DELL’INFORMAZIONE
COMPLEMENTO A 2. SOTTRAZIONE.
ESERCIZIO 2:
– SOTTRARRE I NUMERI +33 E +21 IN UN BYTE:
UNIVERSITA' DI CAGLIARI-CORSO DI LAUREA IN INFORMATICA 28
29. FONDAMENTI DI INFORMATICA
CODIFICAZIONE DELL’INFORMAZIONE
COMPLEMENTO A 2. SOTTRAZIONE.
SOLUZIONE 2:
– SOTTRARRE I NUMERI +33 E +21 IN UN BYTE:
UNIVERSITA' DI CAGLIARI-CORSO DI LAUREA IN INFORMATICA 29
30. FONDAMENTI DI INFORMATICA
CODIFICAZIONE DELL’INFORMAZIONE
ESERCIZI RIASSUNTIVI.
UNIVERSITA' DI CAGLIARI-CORSO DI LAUREA IN INFORMATICA 30
31. FONDAMENTI DI INFORMATICA
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
UNIVERSITA' DI CAGLIARI-CORSO DI LAUREA IN INFORMATICA 31
32. FONDAMENTI DI INFORMATICA
CODIFICAZIONE DELL’INFORMAZIONE
CODIFICAZIONE DEI NUMERI.
RAPPRESENTAZIONE DI NUMERI NEGATIVI
ESERCIZI RIASSUNTIVI.
SOLUZIONE 1.
– DATO IL SEGUENTE NUMERO BINARIO: 100111
UNIVERSITA' DI CAGLIARI-CORSO DI LAUREA IN INFORMATICA 32
33. FONDAMENTI DI INFORMATICA
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
UNIVERSITA' DI CAGLIARI-CORSO DI LAUREA IN INFORMATICA 33
34. FONDAMENTI DI INFORMATICA
CODIFICAZIONE DELL’INFORMAZIONE
ESERCIZI RIASSUNTIVI.
SOLUZIONE 2.
– DATO IL SEGUENTE NUMERO BINARIO: 10100111
UNIVERSITA' DI CAGLIARI-CORSO DI LAUREA IN INFORMATICA 34
35. FONDAMENTI DI INFORMATICA
CODIFICAZIONE DELL’INFORMAZIONE
ESERCIZI RIASSUNTIVI.
ESERCIZIO 3.
– RAPPRESENTAZIONE COMPLEMENTO A 2 CON 8 BIT
UNIVERSITA' DI CAGLIARI-CORSO DI LAUREA IN INFORMATICA 35
36. FONDAMENTI DI INFORMATICA
CODIFICAZIONE DELL’INFORMAZIONE
ESERCIZI RIASSUNTIVI.
SOLUZIONE 3.
– RAPPRESENTAZIONE COMPLEMENTO A 2 CON 8 BIT
UNIVERSITA' DI CAGLIARI-CORSO DI LAUREA IN INFORMATICA 36
37. FONDAMENTI DI INFORMATICA
CODIFICAZIONE DELL’INFORMAZIONE
ESERCIZI RIASSUNTIVI.
ESERCIZIO 4.
– RAPPRESENTAZIONE COMPLEMENTO A 2 CON 8 BIT
UNIVERSITA' DI CAGLIARI-CORSO DI LAUREA IN INFORMATICA 37
38. FONDAMENTI DI INFORMATICA
CODIFICAZIONE DELL’INFORMAZIONE
ESERCIZI RIASSUNTIVI.
SOLUZIONE 4.
– RAPPRESENTAZIONE COMPLEMENTO A 2 CON 8 BIT
UNIVERSITA' DI CAGLIARI-CORSO DI LAUREA IN INFORMATICA 38
39. FONDAMENTI DI INFORMATICA
CODIFICAZIONE DELL’INFORMAZIONE
ESERCIZI RIASSUNTIVI.
ESERCIZIO 5.
– RAPPRESENTAZIONE COMPLEMENTO A 2 CON 8 BIT
UNIVERSITA' DI CAGLIARI-CORSO DI LAUREA IN INFORMATICA 39
40. FONDAMENTI DI INFORMATICA
CODIFICAZIONE DELL’INFORMAZIONE
ESERCIZI RIASSUNTIVI.
SOLUZIONE 5.
– RAPPRESENTAZIONE COMPLEMENTO A 2 CON 8 BIT
UNIVERSITA' DI CAGLIARI-CORSO DI LAUREA IN INFORMATICA 40
41. FONDAMENTI DI INFORMATICA
CODIFICAZIONE DELL’INFORMAZIONE
ESERCIZI RIASSUNTIVI.
ESERCIZIO 6.
– RAPPRESENTAZIONE COMPLEMENTO A 2 CON 8 BIT
UNIVERSITA' DI CAGLIARI-CORSO DI LAUREA IN INFORMATICA 41
42. FONDAMENTI DI INFORMATICA
CODIFICAZIONE DELL’INFORMAZIONE
ESERCIZI RIASSUNTIVI.
SOLUZIONE 6.
– RAPPRESENTAZIONE COMPLEMENTO A 2 CON 8 BIT
UNIVERSITA' DI CAGLIARI-CORSO DI LAUREA IN INFORMATICA 42
43. FONDAMENTI DI INFORMATICA
CODIFICAZIONE DELL’INFORMAZIONE
ESERCIZI RIASSUNTIVI.
ESERCIZIO 7.
– RAPPRESENTAZIONE COMPLEMENTO A 1 CON 8 BIT
UNIVERSITA' DI CAGLIARI-CORSO DI LAUREA IN INFORMATICA 43
44. FONDAMENTI DI INFORMATICA
CODIFICAZIONE DELL’INFORMAZIONE
ESERCIZI RIASSUNTIVI.
SOLUZIONE 7.
– RAPPRESENTAZIONE COMPLEMENTO A 1 CON 8 BIT
UNIVERSITA' DI CAGLIARI-CORSO DI LAUREA IN INFORMATICA 44
45. FONDAMENTI DI INFORMATICA
CODIFICAZIONE DELL’INFORMAZIONE
ESERCIZI RIASSUNTIVI.
ESERCIZIO 8.
– RAPPRESENTAZIONE COMPLEMENTO A 1 CON 8 BIT
UNIVERSITA' DI CAGLIARI-CORSO DI LAUREA IN INFORMATICA 45
46. FONDAMENTI DI INFORMATICA
CODIFICAZIONE DELL’INFORMAZIONE
ESERCIZI RIASSUNTIVI.
SOLUZIONE 8.
– RAPPRESENTAZIONE COMPLEMENTO A 1 CON 8 BIT
UNIVERSITA' DI CAGLIARI-CORSO DI LAUREA IN INFORMATICA 46
47. FONDAMENTI DI INFORMATICA
CODIFICAZIONE DELL’INFORMAZIONE
CODIFICAZIONE DEI NUMERI.
OVERFLOW
IL RISULTATO PREVEDE UN NUMERO DI BIT MAGGIORE DI QUELLO
DISPONIBILE
UNIVERSITA' DI CAGLIARI-CORSO DI LAUREA IN INFORMATICA 47
48. FONDAMENTI DI INFORMATICA
CODIFICAZIONE DELL’INFORMAZIONE
CODIFICAZIONE DEI NUMERI.
OVERFLOW
ESEMPIO: ADDIZIONE DI +7 E +6 IN MODULO E SEGNO CON 4 BIT
UNIVERSITA' DI CAGLIARI-CORSO DI LAUREA IN INFORMATICA 48
49. FONDAMENTI DI INFORMATICA
CODIFICAZIONE DELL’INFORMAZIONE
CODIFICAZIONE DEI NUMERI.
OVERFLOW.
RILEVAMENTO NELLA RAPPRESENTAZIONE COMPLEMENTO A 2.
ESERCIZIO 3: ADDIZIONE DI -3 E -2
1101 +
Il riporto viene scartato in quanto al di fuori
1110 =
dei bit disponibili.
11011 NON E’ OVERFLOW!!
UNIVERSITA' DI CAGLIARI-CORSO DI LAUREA IN INFORMATICA 49
50. 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
51. FONDAMENTI DI INFORMATICA
Condizione di OVERFLOW
Cn Cn-1
Si osservano i riporti generati dalle
1101+ colonne dei due bit poù significativi:
1010=
10111
Se Cn = Cn-1 OK
Se Cn ≠ Cn-1 Overflow
UNIVERSITA' DI CAGLIARI-CORSO DI LAUREA IN INFORMATICA 51
52. 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