informatica n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
Informatica PowerPoint Presentation
Download Presentation
Informatica

Loading in 2 Seconds...

play fullscreen
1 / 26

Informatica - PowerPoint PPT Presentation


  • 134 Views
  • Uploaded on

Informatica. Lezione 3 Scienze e tecniche psicologiche dello sviluppo e dell'educazione Anno accademico: 2005-2006. Conversione dalla base 10 alla base 2.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'Informatica' - hagen


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
informatica

Informatica

Lezione 3

Scienze e tecniche psicologiche dello sviluppo e dell'educazione

Anno accademico: 2005-2006

conversione dalla base 10 alla base 2
Conversione dalla base 10 alla base 2
  • Dato un numero N rappresentato in base dieci, la sua rappresentazione in base due sarà del tipo cm cm-1cm-2 …c1c0 (le “ci” sono cifre binarie)
  • Per convertire un numero in base dieci nel corrispondente in base due si devono trovare i resti delle divisioni successive del numero N per due
conversione dalla base 10 alla base 21
Conversione dalla base 10 alla base 2
  • Esempio: il numero 610:

6/2 = 3 resto 0

3/2 = 1 resto 1

1/2 = 0 resto 1

  • Leggendo i resti dal basso verso l’alto, si ha che la rappresentazione binaria del numero 610 è 1102
  • Per una corretta verifica basta riconvertire il risultato alla base 10
    • Cioè, calcolare 1 x 22 + 1 x 21 + 0 x 20
conversione dalla base 10 alla base 22
Conversione dalla base 10 alla base 2
  • Perché 1102 = 610 ?

6/2 = 3 resto 0 0 x 20 +

3/2 = 1 resto 1 1 x 21 +

1/2 = 0 resto 1 1 x 22

= 6

1 x 22 + 1 x 21 + 0 x 20 = 1 x 21 + 1 x 20 con resto 0

2

1 x 21 + 1 x 20 = 1 x 20 con resto 1

2

1 x 20 = 0 con resto 1

2

conversione dalla base 10 alla base 23
Conversione dalla base 10 alla base 2
  • Esempio: il numero 34510:

345/2 = 172 resto 1

172/2 = 86 resto 0

86/2 = 43 resto 0

43/2 = 21 resto 1

21/2 = 10 resto 1

10/2 = 5 resto 0

5/2 = 2 resto 1

2/2 = 1 resto 0

1/2 = 0 resto 1

  • Leggendo i resti dal basso verso l’alto (in quanto si ottengono a partire dalla cifra meno significativa, l’unità), si ha che rappresentazione binaria del numero 34510 è 1010110012
conversione dalla base 2 alla base 10
Conversione dalla base 2 alla base 10
  • Sia cm cm-1cm-2 …c1c0 un numero rappresentato in base 2, usiamo:

cm x 2m + cm-1 x 2m-1 + cm-2 x 2m-2 + … + c1 x 21 + c0 x 20 = N

  • Esempio: 1010110012

1 x 28 + 0 x 27 + 1 x 26 + 0 x 25 + 1 x 24 + 1 x 23 +

0 x 22 + 0 x 21 + 1 x 20

=

256 + 64 + 16 + 8 + 1

=

345

altri basi ottale esadecimale
Altri basi: ottale, esadecimale
  • Sistema ottale
    • Utilizza una notazione posizionale basata su otto cifre (0,1,…,7) e sulle potenze di 8
    • Esempio: 1038 = 1 x 82 + 0 x 81 + 3 x 80 = 67
  • Sistema esadecimale
    • Utilizza una notazione posizionale basata su sedici cifre (0,1,…,9,A,B,C,D,E,F) e sulle potenze di 16
    • Esempio: 10316 = 1 x 162 + 0 x 161 + 3 x 160 = 259
    • Esempio: AC416 = 10 x 162 + 12 x 161 + 4 x 160 = 2756
operazioni su numeri binari
Operazioni su numeri binari
  • Vediamo solo il caso della addizione nella codifica binaria:
    • Si mettono in colonna i numeri da sommare
    • Si calcola il riporto ogni volta che la somma parziale supera il valore 1
  • Addizione:

0 + 0 = 0 con riporto 0

0 + 1 = 1 con riporto 0

1 + 0 = 1 con riporto 0

1 + 1 = 0 con riporto 1

operazioni su numeri binari1
Operazioni su numeri binari
  • Addizione:

0 + 0 = 0 con riporto 0

0 + 1 = 1 con riporto 0

1 + 0 = 1 con riporto 0

1 + 1 = 0 con riporto 1

  • Esempi:

1 0 1 +

1 1 =

1 0 0 0

1 0 1 1 0 1 0 1 +

1 0 0 0 1 1 0 =

1 1 1 1 1 0 1 1

1 1 1 +

1 1 =

1 0 1 0

1 +

1 =

1 0

codici a lunghezza fissa
Codici a lunghezza fissa
  • Se si usa un numero prestabilito di cifre si ha un codice a lunghezza fissa
  • In questo modo si pone anche un limite al numero massimo rappresentabile
  • Esempio: qual è il numero più grande rappresentabile con 4 cifre?
    • In base 10: 9999
    • In base 2: 1111 (=1510)
    • In base 16: FFFF (=6553510)
    • In base 8: 7777 (=409510)
codici a lunghezza fissa1
Codici a lunghezza fissa
  • Numeri maggiori di quello massimo rappresentabile causano problemi di overflow
    • Ovvero per essere rappresentati richiedono più cifre di quelle a disposizione
  • Esempio: 4 cifre
    • In base 10: 9999 + 1 = 1000010
    • In base 2: 1111 + 1 = 100002 (=1610)
    • In base 16: FFFF + 1 = 1000016 (=6553610)
    • In base 8: 7777 + 1 = 100008 (=409610)
codici a lunghezza fissa2
Codici a lunghezza fissa
  • In generale, con N cifre a disposizione e base b il più grande numero (intero positivo) rappresentabile si può esprimere come

bN – 1

  • Esempio: N=4
    • In base 10: 9999 = 104 - 1
    • In base 2: 1111 = 24 - 1
    • In base 16: FFFF = 164 - 1
    • In base 8: 7777 = 84 - 1
codici a lunghezza fissa3
Codici a lunghezza fissa
  • Esempio di overflow nel sistema binario dovuto a operazioni aritmetiche:
    • 5 + 4 = 9 (in sistema decimale)
    • abbiamo usato solo un cifre decimale per il risulto
  • Ricordiamo: 510 = 1012 , 410 = 1002

Errore: overflow

(non può essere codificato

910 = 10012 con tre bit)

1 0 1 +

1 0 0 =

1 0 0 1

(in sistema binario)

rappresentazione dei numeri
Rappresentazione dei numeri
  • Possiamo rappresentare i numeri usando un numero variabile di cifre (che dipende dal valore che si vuole rappresentare)
    • Come? Introduciamo un simbolo speciale che indica dove termina la rappresentazione di un numero e inizia quella del numero successivo
    • Esempio: 1001#11#1 (codice a lunghezza variabile, # separatore)
  • Esistono anche “codici di espansione”, che permettono di definire dei codici a lunghezza variabile senza far uso del carattere di separazione
rappresentazione dei numeri1
Rappresentazione dei numeri
  • In realtà, una semplice codifica binaria come quella discussa fino ad ora non è sufficiente, per due motivi:
    • Numeri negativi
    • Numeri con la virgola
  • Per questi numeri vengono utilizzate delle rappresentazioni differenti
    • Per esempio “complemento a due” per rappresentare i numeri negativi
rappresentazione dei numeri negativi
Rappresentazione dei numeri negativi
  • Si può pensare di usare un bit per il segno
    • “0” identifica “+”
    • “1” identifica “-”
  • Gli altri bit vengono usati per codificare il valore assoluto (modulo) del numero

[-22+1, 22-1]

[0, 23-1]

-3

-2

-1

0

1

2

3

4

5

6

7

rappresentazione dei numeri negativi1
Con 3 bit avremo:Rappresentazione dei numeri negativi
  • Problemi:
    • Il numero 0 ha due rappresentazioni
    • Per l’operazione di somma si deve tener conto dei segni degli addendi

0 0 1 0 + (+2)

1 0 1 1 = (-3)

1 1 0 1 (-5 ERRATO)

rappresentazione dei numeri negativi2
Rappresentazione dei numeri negativi
  • Complemento a due:
    • Il bit più significativo rappresenta il segno del numero: 0 per i numeri positivi e 1 per i numeri negativi
    • La rappresentazione di un numero positivo si ottiene codificando il valore assoluto del numero con i bit restanti
    • La rappresentazione di un numero negativo si ottiene in tre passi:
      • Si rappresenta in complemento a due il numeri positivo con lo stesso valore assoluto del numero negativo da codificare
      • Si invertono tutti i bit in tale rappresentazione (01,10)
      • Si somma uno al risultato ottenuto al passo precedente
complemento a due
Complemento a due
  • Esempio (con 4 bit a disposizione):
    • La codifica di +5 è 0101
    • La codifica del numero –5 avviene in tre passi:
      • La rappresentazione in complemento a due di +5 è 0101
      • Invertendo tutti i bit si ottiene 1010
      • Sommando 1 si ottiene 1011, la rappresentazione in complemento a due di -5
complemento a due1
Complemento a due
  • Per ottenere un numero con segno data la sua rappresentazione in complemento a due:
    • Se il primo bit è 0 il numero è positivo: per calcolarne il valore assoluto si esegue la conversione da binario a decimale
    • Se il primo bit è 1 il numero è negativo:
      • Si ignora il primo bit
      • Si invertono i restanti bit
      • Si converte il numero da binario a decimale
      • Si somma uno al numero ottenuto per ottenere il valore assoluto del numero negativo
complemento a due2
Complemento a due
  • Esempio: 1011
    • Si esclude il primo bit
    • Invertendo 011 si ottiene 100 che è codifica di 4
    • Va aggiunto 1 per ottenere il valore assoluto 5
    • Il risultato è quindi -5
complemento a due3
Con 3 bit avremo:Complemento a due
  • Esempi di addizione:

0 0 1 0 + (+2)

1 0 1 1 = (-5)

1 1 0 1 (-3)

0 1 1 1 + (+7)

1 0 1 1 = (-5)

0 0 1 0 (+2)

Nel secondo esempio, l’overflow è ignorato

codifica dell informazione
Codifica dell’informazione
  • Quanti bit si devono utilizzare per rappresentare 300 informazioni distinte?
  • Quanti byte occupa la parola “psicologia” se la si codifica utilizzando il codice ASCII?
  • Dati 12 bit per la codifica, quante informazioni distinte si possono rappresentare?
codifica delle immagini
Codifica delle immagini
  • Quanti byte occupa un’immagine di 100 x 100 pixel in bianco e nero?
  • Quanti byte occupa un’immagine di 100 x 100 pixel a 256 colori?
  • Se un’immagine a 16777216 di colori occupa 2400 byte, da quanti pixel sarà composta?
codifica dei suoni
Codifica dei suoni
  • Quanto spazio occupa un suono della durata di 10 secondi campionato a 100 Hz (100 campioni al secondo), in cui ogni campione occupa 4 byte?
codifica dei numeri
Codifica dei numeri
  • Codificare il numero 13210 nella corrispondente rappresentazione binaria
  • Ordinare in modo crescente i seguente numeri: 10410 , 128 , 1000100002 , 1001110
  • Codificare il numero negativo –1210 nella rappresentazione in complemento a due