Corso di Laurea in Biotecnologie
Informatica
(Programmazione)
Rappresentazione dell’informazione
su calcolatore
Anno Accademico 2009/2010
1
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.
2
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
3
Codifica binaria
La 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)
4
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:
n 1
N b   Ci b
i 0
i
n è il numero
di cifre di Nb
5
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:
4 unità
5 decine
3 centinaia
1 migliaia
N10 = 4 x 100 + 5 x 101 + 3 x 102 + 1 x 103
6
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
7
Sistemi numerici posizionali
Esempio: il nostro sistema numerico decimale (b=10)
quindi si ha:
3
N10   Ci 10i
i 0
per un numero in base decimale di n cifre si ha:
n 1
N10   Ci 10i
i 0
8
Sistemi numerici posizionali
L’estensione della sommatoria precedente ad un
numero di qualsivoglia cifre (n) in una generica
base b è perciò immediata:
n 1
N b   Ci bi
i 0
9
Sistemi numerici posizionali
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}
10
Sistemi numerici posizionali
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
11
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 cifre
che rappresenta un numero. Quindi 13548 e 135410 sono
due numeri diversi che hanno lo stesso numerale
12
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
13
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
14
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.
15
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
16
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
17
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
0
0
n bit
a 1 x 20 + 1 x 21 + … + 1 x 2n-1 = (2n-1)
1
1
1
1
1
1
1
1
n bit
18
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
0
0
8 bit
1
1
1
1
1
1
8 bit
a 255
1
1
8 bit = 1 byte
1 KiloByte (kb) = 103 bytes
1 MegaByte (MB) = 106 bytes
1 GigaByte (GB) = 109 bytes
19
Codifica binaria di oggetti
In 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
20
Codifica binaria di oggetti
In generale se si ha il problema di
rappresentare N oggetti, si deve
selezionare un numero n di bit tale che:
2n >= N
21
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
22
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
23
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
24
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
25
Scarica

RappresentazioneInformazione