1 Corso di Laurea in Biotecnologie Informatica (Programmazione) Rappresentazione dellinformazione su...

25
1 Corso di Laurea in Biotecnologie Informatica (Programmazione) Rappresentazione dell’informazione su calcolatore Anno Accademico 2009/2010

Transcript of 1 Corso di Laurea in Biotecnologie Informatica (Programmazione) Rappresentazione dellinformazione su...

Page 1: 1 Corso di Laurea in Biotecnologie Informatica (Programmazione) Rappresentazione dellinformazione su calcolatore Anno Accademico 2009/2010.

1

Corso di Laurea in Biotecnologie

Informatica(Programmazione)

Rappresentazione dell’informazionesu calcolatore

Anno Accademico 2009/2010

Page 2: 1 Corso di Laurea in Biotecnologie Informatica (Programmazione) Rappresentazione dellinformazione su calcolatore Anno Accademico 2009/2010.

2

Introduzione ai BIT…Tutte le componenti di un calcolatore sono pensate

per discriminare un segnale che può assumere due soli stati (acceso/spento, magnetizzato/smagnetizzato, etc.) senza vie di mezzo.

Per questo motivo, l’elemento minimo di memoria in un calcolatore è un’unità che si può trovare in soli due stati. Tale unità minima prende il nome di BIT (Binary unIT). Di solito ai due stati in cui si può trovare l’unità minima di memoria sono associati convenzionalmente le due cifre 1 (acceso, magnetizzato, etc.) e 0 (spento, smagnetizzato, etc.). Le cifre 1 e 0 prendono il nome di Binary digIT e quindi anch’esse vengono indicate con il nome abbreviato di BIT.

Page 3: 1 Corso di Laurea in Biotecnologie Informatica (Programmazione) Rappresentazione dellinformazione su calcolatore Anno Accademico 2009/2010.

3

Introduzione ai BIT…Di conseguenza con BIT si intende sia l’unità minima

di memoria su un calcolatore che le cifre 1 e 0.

L’unico linguaggio che un calcolatore è in grado di capire è quindi quello basato sui BIT, ovvero sull’alfabeto {1,0}. Di conseguenza tutto ciò che deve essere memorizzato e manipolato da un calcolatore deve essere codificato in stringhe (ovvero sequenze) di BIT.

Il BYTE è la quantità più piccola di memoria che si riesce ad indirizzare ed è composta da 8 BIT:

1 kilobyte (KB) = 1024 byte

1 megabyte (MB) = 1024 kilobyte

1 gigabyte (GB) = 1024 megabyte

Page 4: 1 Corso di Laurea in Biotecnologie Informatica (Programmazione) Rappresentazione dellinformazione su calcolatore Anno Accademico 2009/2010.

4

Codifica binariaLa codifica binaria è la rappresentazione

dell’informazione (numeri, caratteri, immagini, suoni, etc.) utilizzando un alfabeto limitato ai soli due simboli 1 e 0 (alfabeto binario).

Nelle slide successive verrà trattata la codifica binaria dei numeri interi senza segno e dei caratteri, preceduta da un’introduzione dei sistemi numerici posizionali (tra i quali troviamo il sistema numerico decimale, che è il nostro sistema numerico, e quello binario su cui si basa l’aritmetica dei calcolatori)

Page 5: 1 Corso di Laurea in Biotecnologie Informatica (Programmazione) Rappresentazione dellinformazione su calcolatore Anno Accademico 2009/2010.

5

Sistemi numerici posizionali

Un sistema numerico si dice posizionale se le cifre

(o simboli) usate per scrivere i numeri assumono

un valore che dipende dalla posizione in cui si trovano.

In un sistema numerico posizionale di base b, un

numero Nb è espresso come somma di potenze di b

moltiplicate per un coefficiente intero:1

0

ni

b ii

N C b

n è il numerodi cifre di Nb

Page 6: 1 Corso di Laurea in Biotecnologie Informatica (Programmazione) Rappresentazione dellinformazione su calcolatore Anno Accademico 2009/2010.

6

Sistemi numerici posizionali

Esempio: il nostro sistema numerico decimale (b=10)

cifre usate {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}

N10 = 135410

Si può scrivere anche:

N10 = 4 x 100 + 5 x 101 + 3 x 102 + 1 x 103

4 unità5 decine

3 centinaia1 migliaia

Page 7: 1 Corso di Laurea in Biotecnologie Informatica (Programmazione) Rappresentazione dellinformazione su calcolatore Anno Accademico 2009/2010.

7

Sistemi numerici posizionali

Esempio: il nostro sistema numerico decimale (b=10)

indicando con Ci la cifra in posizione i a

partire da quella meno significativa (il 4)

che ha posizione 0:

N10 = 1 3 5 4

C3 C2 C1 C0

si può scrivere:

N10 = C0 x 100 + C1 x 101 + C2 x 102 + C3 x 103

Page 8: 1 Corso di Laurea in Biotecnologie Informatica (Programmazione) Rappresentazione dellinformazione su calcolatore Anno Accademico 2009/2010.

8

3

100

10iii

N C

Esempio: il nostro sistema numerico decimale (b=10)

quindi si ha:

per un numero in base decimale di n cifre si ha:1

100

10n

ii

i

N C

Sistemi numerici posizionali

Page 9: 1 Corso di Laurea in Biotecnologie Informatica (Programmazione) Rappresentazione dellinformazione su calcolatore Anno Accademico 2009/2010.

9

L’estensione della sommatoria precedente ad un

numero di qualsivoglia cifre (n) in una generica

base b è perciò immediata:

1

0

ni

b ii

N C b

Sistemi numerici posizionali

Page 10: 1 Corso di Laurea in Biotecnologie Informatica (Programmazione) Rappresentazione dellinformazione su calcolatore Anno Accademico 2009/2010.

10

Un sistema numerico posizionale di base b utilizza

le cifre

da 0 a b-1 se b <= 10:

esempio:

b=2 {0, 1} 0 e 1 bit

b=8 {0, 1, 2, 3, 4, 5, 6, 7}

b=10 {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}

Sistemi numerici posizionali

Page 11: 1 Corso di Laurea in Biotecnologie Informatica (Programmazione) Rappresentazione dellinformazione su calcolatore Anno Accademico 2009/2010.

11

Un sistema numerico posizionale di base b utilizza

le cifre

da 0 a b-1 e simboli aggiuntivi se b > 10:

esempio:

b=16 {0, 1, 2, 3, 4, 5, 6, 7, 8, 9,

A, B, C, D, E, F}

A 10, B 11, C 12, D 13,

E 14, F 15

Sistemi numerici posizionali

Page 12: 1 Corso di Laurea in Biotecnologie Informatica (Programmazione) Rappresentazione dellinformazione su calcolatore Anno Accademico 2009/2010.

12

Sistemi numerici posizionali

Esempio: sistema numerico ottale (b=8)

N8 = 13548

si può scrivere:

N8 = 4 x 80 + 5 x 81 + 3 x 82 + 1 x 83 = 60410

Attenzione: numerale è la sequenza di cifreche rappresenta un numero. Quindi 13548 e 135410 sono

due numeri diversi che hanno lo stesso numerale

Page 13: 1 Corso di Laurea in Biotecnologie Informatica (Programmazione) Rappresentazione dellinformazione su calcolatore Anno Accademico 2009/2010.

13

Sistemi numerici posizionali

Esempio: sistema numerico esadecimale (b=16)

N16 = 4F16

si può scrivere:

N16 = F x 160 + 4 x 161 = 15 x 1 + 4 x 16 = 7910

Page 14: 1 Corso di Laurea in Biotecnologie Informatica (Programmazione) Rappresentazione dellinformazione su calcolatore Anno Accademico 2009/2010.

14

Sistemi numerici posizionali

Esempio: sistema numerico binario (b=2)

N2 = 1 1 0 1 02

si può scrivere:

N2 = 0 x 20 + 1 x 21 + 0 x 22 + 1 x 23 + 1 x 24

= 0 + 2 + 0 + 8 + 16 = 2610

Page 15: 1 Corso di Laurea in Biotecnologie Informatica (Programmazione) Rappresentazione dellinformazione su calcolatore Anno Accademico 2009/2010.

15

Sistemi numerici posizionali

Conversione da base 10 a base b

dato un numero N10 in base 10 si effettuano

successive divisioni intere per b fino

ad ottenere un risultato nullo. I resti,

elencati a partire da quello ottenuto per

l’ultima divisione effettuata, forniscono

il numerale che rappresenta, in base b,

il numero decimale dato.

Page 16: 1 Corso di Laurea in Biotecnologie Informatica (Programmazione) Rappresentazione dellinformazione su calcolatore Anno Accademico 2009/2010.

16

Sistemi numerici posizionali

Esempio: conversione da base 10 a base 2

N10 = 610

6 / 2 resto = 0

3 / 2 resto = 1

1 / 2 resto = 1

0

1 1 02

Page 17: 1 Corso di Laurea in Biotecnologie Informatica (Programmazione) Rappresentazione dellinformazione su calcolatore Anno Accademico 2009/2010.

17

Codifica binaria degli interi senza segno

Problema: quanti e quali interi senza segno si possono

rappresentare con un numero prefissato n

di bit?

n bit

Con n bit si possono avere 2n disposizioni

(con ripetizione) di 0 e 1 in n posizioni

gli interi che si possono rappresentare sono

quindi 2n

Page 18: 1 Corso di Laurea in Biotecnologie Informatica (Programmazione) Rappresentazione dellinformazione su calcolatore Anno Accademico 2009/2010.

18

Codifica binaria degli interi senza segno

L’intervallo degli interi che si possono rappresentare

in n bit va da 0

0 0 0 0 0 0 00 n bit

a 1 x 20 + 1 x 21 + … + 1 x 2n-1 = (2n-1)

1 1 1 1 1 1 11 n bit

Page 19: 1 Corso di Laurea in Biotecnologie Informatica (Programmazione) Rappresentazione dellinformazione su calcolatore Anno Accademico 2009/2010.

19

Codifica binaria degli interi senza segno

Esempio: per n=8 bit si possono rappresentare 256

interi che vanno da 0

0 0 0 0 0 0 00 8 bit

1 1 1 1 1 1 11 8 bit

8 bit = 1 byte1 KiloByte (kb) = 103 bytes

1 MegaByte (MB) = 106 bytes1 GigaByte (GB) = 109 bytes

a 255

Page 20: 1 Corso di Laurea in Biotecnologie Informatica (Programmazione) Rappresentazione dellinformazione su calcolatore Anno Accademico 2009/2010.

20

Codifica binaria di oggettiIn generale con n bit si possono codificare 2n oggetti

Ad esempio se si vogliono codificare i 7 giorni

della settimana si possono usare n=3 bit (23

oggetti) e porre:

000 lunedì; 001 martedì

010 mercoledì; 100 giovedì

011 venerdì; 101 sabato;

110 domenica

Page 21: 1 Corso di Laurea in Biotecnologie Informatica (Programmazione) Rappresentazione dellinformazione su calcolatore Anno Accademico 2009/2010.

21

In generale se si ha il problema di

rappresentare N oggetti, si deve

selezionare un numero n di bit tale che:

2n >= N

Codifica binaria di oggetti

Page 22: 1 Corso di Laurea in Biotecnologie Informatica (Programmazione) Rappresentazione dellinformazione su calcolatore Anno Accademico 2009/2010.

22

Codifica binaria di caratteri

I caratteri da codificare sono:Lettere maiuscole e minuscole A-Z a a-z

Cifre numeriche 0-9

Simboli di punteggiatura , . ; : ! ? etc.

Simboli matematici + - / * etc.

Altri caratteri

Page 23: 1 Corso di Laurea in Biotecnologie Informatica (Programmazione) Rappresentazione dellinformazione su calcolatore Anno Accademico 2009/2010.

23

Codifica binaria dei caratteri (codice ASCII)

US-ASCII (American Standard Code for Information Interchange)

E’ un sistema a 7 bit e codifica 128 caratteri tramite gli interi da 0 a 127:

da 48 a 57 cifre numeriche

da 65 a 90 lettere maiuscole

da 97 a 122 lettere minuscole

Da Wikipedia: http://it.wikipedia.org/wiki/ASCII

Page 24: 1 Corso di Laurea in Biotecnologie Informatica (Programmazione) Rappresentazione dellinformazione su calcolatore Anno Accademico 2009/2010.

24

Codifica binaria dei caratteri (codice ASCII)

High ASCII

E’ un sistema a 8 bit (256 caratteri) ed estende US-ASCII per:

caratteri speciali non inclusi in US-ASCII

lingue straniere (orientali e slave)

Da Wikipedia: http://it.wikipedia.org/wiki/ASCII

Page 25: 1 Corso di Laurea in Biotecnologie Informatica (Programmazione) Rappresentazione dellinformazione su calcolatore Anno Accademico 2009/2010.

25

Codifica binaria dei caratteri (codice UNICODE)

UNICODE

E’ un sistema a 16 bit e codifica 65536 caratteri e comprende:

quasi tutti i sistemi di scrittura attualmente utilizzati

glifi appartenenti a molte lingue morte

simboli matematici

simboli musicali

Da Wikipedia: http://it.wikipedia.org/wiki/Unicode