html5-img
1 / 26

Informatica

Informatica. Lezione 3 Scienze e tecniche psicologiche dello sviluppo e dell'educazione (laurea triennale) Anno accademico: 2007-2008. Codifica dei numeri. Il codice ASCII consente di codificare le cifre decimali da “0” a “9” fornendo in questo modo una rappresentazione dei numeri

Télécharger la présentation

Informatica

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. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Informatica Lezione 3 Scienze e tecniche psicologiche dello sviluppo e dell'educazione (laurea triennale) Anno accademico: 2007-2008

  2. Codifica dei numeri • Il codice ASCII consente di codificare le cifre decimali da “0” a “9” fornendo in questo modo una rappresentazione dei numeri • Per esempio: il numero 324 potrebbe essere rappresentato dalla sequenza di byte: 00110011 00110010 00110100 3 2 4 • Ma questa rappresentazione non è efficiente e soprattutto non è adatta per eseguire le operazioni aritmetiche sui numeri • Sono stati pertanto studiati codici alternativi per rappresentare i numeri in modo efficiente ed eseguire le usuali operazioni aritmetiche

  3. Codifica dei numeri (il sistema decimale) • La rappresentazione dei numeri con il sistema decimale può essere utilizzata come spunto per definire un metodo di codifica dei numeri all’interno degli elaboratori • Esempio: la sequenza di cifre 324 viene interpretato come: 3 centinaia + 2 decine + 4 unità 324 = 3 x 100 + 2 x 10 + 4 x 1 324 = 3 x 102 + 2 x 101 + 4 x 100 • 3 è la cifra più significativa • 4 è la cifra meno significativa

  4. Codifica dei numeri (il sistema decimale) • In generale la sequenza cn cn-1cn-2 …c1c0 (ogni “ci” è una cifra compresa tra “0” e “9”) viene interpretata come: c0 x 100 + (c0 unità) c1 x 101 + (c1 decine) c2 x 102 + (c2 centinaia) … cn-1 x 10n-1 + cn x 10n La cifra meno significativa La cifra più significativa

  5. Codifica dei numeri (il sistema decimale) • La numerazione decimale quindi utilizza una notazione posizionale basata sul numero 10 • La notazione posizionale può essere utilizzata in qualunque altro sistema di numerazione con base diversa di 10 • Base: il numero di cifre disponibile nel sistema • In base 10, usiamo le dieci cifre 0, 1, 2, 3, 4, 5, 6, 7, 8, 9

  6. Codifica dei numeri (il sistema binario) • Nel sistema di numerazione binario (base 2) i numeri vengono codificati utilizzando le due cifre 0 e 1 • Nel sistema di numerazione ottale (base 8) i numeri vengono codificati utilizzando le otto cifre 0, 1, 2, 3, 4, 5, 6, 7 • Nel sistema di numerazione esadecimale (base 16) i numeri vengono codificati utilizzando le sedici cifre 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F

  7. La cifra meno significativa Codifica dei numeri (il sistema binario) • In analogia con il caso decimale la sequenza cn cn-1cn-2 …c1c0 (ogni “ci” è la cifra “0” o la cifra “1”) rappresenterà il numero c0 x 20 + c1 x 21 + c2 x 22 + … + cn-1 x 2n-1 + cn x 2n La cifra più significativa

  8. La cifra meno significativa Codifica dei numeri • Caso generale: considerare un sistema con base b • La sequenza cn cn-1cn-2 …c1c0 (ogni “ci” è una cifra del sistema) rappresenterà il numero c0 x b0 + c1 x b1 + c2 x b2 + … + cn-1 x bn-1 + cn x bn La cifra più significativa

  9. La cifra meno significativa Codifica dei numeri • Caso generale: considerare un sistema con base b • La sequenza cn cn-1cn-2 …c1c0 (ogni “ci” è una cifra del sistema) rappresenterà il numero Se necessario, convertiamo una cifra ci in un numero (per esempio, nel sistema esadecimale, “A”significa “10”, “B” significa “11”, e così via) c0 x b0 + c1 x b1 + c2 x b2 + … + cn-1 x bn-1 + cn x bn La cifra più significativa

  10. Codifica dei numeri (il sistema binario) • Esempio: la sequenza “1011” in base 2 denota il numero 1 x 23 + 0 x 22 + 1 x 21 + 1 x 20 = 11 (in base 10) • Esempio: la sequenza “10011” in base 2 denota il numero 1 x 24 + 0 x 23 + 0 x 22 + 1 x 21 + 1 x 20 = 19 (in base 10) • Per evitare ambiguità si usa la notazione 10112 = 1110, 100112 = 1910

  11. 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 = 6710 • 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 = 25910 • Esempio: AC416 = 10 x 162 + 12 x 161 + 4 x 160 = 275610

  12. Esadecimale: esempio • HTML: il linguaggio principale usato per definire l’aspetto di una pagina web (il colore dello sfondo, il layout, le tabelle ecc.) • In HTML, rappresentiamo i codici per i colori rosso, verde e blu usando le cifre esadecimali tra 00 e FF (0016 = 010 e FF16 = 25610) • I colori predefiniti di HTML (da http://en.wikipedia.org/wiki/Web_colors):

  13. Esadecimale: esempio • Per esempio: • Blu: 0000FF16 = 0000000000000000111111112 • Si può anche definire altri colori • Esempio dell’uso: <font color=#FF8E2A>Ciao</font>

  14. 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 • Leggere i resti in ordine inverso per ottenere la rappresentazione binaria di N (dalla cifra più significativa alla cifra meno significativa)

  15. Conversione dalla base 10 alla base 2 • Intuitivamente: ottenere la rappresentazione binaria dalla cifra meno significativa alla cifra più significativa cm cm-1cm-2 …c1c0

  16. Conversione dalla base 10 alla base 2 • Intuitivamente: ottenere la rappresentazione binaria dalla cifra meno significativa alla cifra più significativa cm cm-1cm-2 …c1c0

  17. Conversione dalla base 10 alla base 2 • Intuitivamente: ottenere la rappresentazione binaria dalla cifra meno significativa alla cifra più significativa cm cm-1cm-2 …c1c0

  18. Conversione dalla base 10 alla base 2 • Intuitivamente: ottenere la rappresentazione binaria dalla cifra meno significativa alla cifra più significativa cm cm-1cm-2 …c1c0

  19. Conversione dalla base 10 alla base 2 • Intuitivamente: ottenere la rappresentazione binaria dalla cifra meno significativa alla cifra più significativa cm cm-1cm-2 …c1c0

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

  21. Conversione dalla base 10 alla base 2 • Perché 1102 = 610 ? • Considerare le seguenti equazioni: • c x b0 = 0 resto c • b • a1 + a2 = a1 + a2 • b b b • bN = bN-1 • b

  22. Conversione dalla base 10 alla base 2 • c x 20 = 0 resto c • 2 • Perché 1102 = 610 ? c0 x 20 = 0 resto c0 2 c1 x 21 + c0 x 20 = c1 x 21 resto c0 2 c2 x 22 + c1 x 21 + c0 x 20 = c2 x 21 + c1 x 20 resto c0 2 … • a1 + a2 = a1 + a2 • b b b • bN = bN-1 • b

  23. Conversione dalla base 10 alla base 2 • Perché 1102 = 610 ? 6/2 = 3 resto 0 3/2 = 1 resto 1 1/2 = 0 resto 1 0 x 20 + 1 x 21 + 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

  24. Conversione dalla base 10 alla base 2 • Perché1102 = 610 ? 6/2 = 3 resto 0 3/2 = 1 resto 1 1/2 = 0 resto 1 0 x 20+ 1 x 21+ 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

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

  26. 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 = N10 • 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 = 34510

More Related