Upload
giuseppa-carlucci
View
220
Download
0
Embed Size (px)
Citation preview
1
Corso di Laurea in Biotecnologie
Informatica(Programmazione)
Rappresentazione dell’informazionesu 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.
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
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)
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
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
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
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
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
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
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
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
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
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
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.
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
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
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
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
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
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
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
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
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
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