SlideShare a Scribd company logo
1 of 52
Download to read offline
FONDAMENTI DI INFORMATICA




            FONDAMENTI DI INFORMATICA


         ESERCITAZIONI ANNO ACCADEMICO 2012-2013




                  DOTT. FABRIZIO SOLINAS
                 Mail: fabrizio.solinas@unica.it
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
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
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
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
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
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
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
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
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
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
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
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
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
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         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
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
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
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
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
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
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
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
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
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
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
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
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
FONDAMENTI DI INFORMATICA

 CODIFICAZIONE DELL’INFORMAZIONE




                         ESERCIZI RIASSUNTIVI.




UNIVERSITA' DI CAGLIARI-CORSO DI LAUREA IN INFORMATICA   30
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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

    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
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

More Related Content

Viewers also liked (13)

Pizzeria marhaba
Pizzeria marhabaPizzeria marhaba
Pizzeria marhaba
 
Fnjn investor 020115 final
Fnjn investor 020115 finalFnjn investor 020115 final
Fnjn investor 020115 final
 
Proyecto atlante
Proyecto atlanteProyecto atlante
Proyecto atlante
 
Overseas Charity Challenges | CaminoWays.com
Overseas Charity Challenges | CaminoWays.comOverseas Charity Challenges | CaminoWays.com
Overseas Charity Challenges | CaminoWays.com
 
Best Camino routes for groups
Best Camino routes for groups Best Camino routes for groups
Best Camino routes for groups
 
Portuguese Way | CaminoWays.com
 Portuguese Way | CaminoWays.com Portuguese Way | CaminoWays.com
Portuguese Way | CaminoWays.com
 
Fondamenti esercitazioni parte2a_2b
Fondamenti esercitazioni parte2a_2bFondamenti esercitazioni parte2a_2b
Fondamenti esercitazioni parte2a_2b
 
AD-ART PPGT (KSK XIII Seriti 2013)
AD-ART PPGT (KSK XIII Seriti 2013)AD-ART PPGT (KSK XIII Seriti 2013)
AD-ART PPGT (KSK XIII Seriti 2013)
 
Via Francigena: from Canterbury to Rome
Via Francigena: from Canterbury to RomeVia Francigena: from Canterbury to Rome
Via Francigena: from Canterbury to Rome
 
Himpunan Keputusan KSK XII PPGT
Himpunan Keputusan KSK XII PPGTHimpunan Keputusan KSK XII PPGT
Himpunan Keputusan KSK XII PPGT
 
AD-ART PPGT
AD-ART PPGTAD-ART PPGT
AD-ART PPGT
 
PO PPGT 2014
PO PPGT 2014PO PPGT 2014
PO PPGT 2014
 
Health financing1
Health financing1Health financing1
Health financing1
 

Fondamenti esercitazioni parte2c

  • 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