Ud1: Sistemi di numerazione posizionale Lezione Zero: Unità di

Transcript

Ud1: Sistemi di numerazione posizionale Lezione Zero: Unità di
Ud1: Sistemi di numerazione posizionale
Lezione Zero: Unità di misura in informatica: bit e multipli
L'unità di misura di partenza è la CIFRA BINARIA → Binary Digit → Bit
Il primo multiplo è il Byte Un Byte = 8 bit
Per le unità di misura più grandi esistono due scale

Kilo, Mega, Giga

Kilo Binary, Mega Binary, Giga Binary
La differenza è che nella prima scala il rapporto tra un'unità e la successiva è di 1/1000; mentre
nella seconda scala è di 1/1024
In Sintesi
Nome
Simbolo
Equivale a
Kilo Bit
Kb
1000 bit
Mega Bit
Mb
1000 Kb
Giga Bit
Gb
1000 Gb
Kilo Byte
KB
1000 Byte 8000 Bit
Mega Byte
MB
1000 KB
Giga Byte
GB
1000 MB
Kilo Binary Bit
Kib
1024 bit
Mega Binary Bit
Mib
1024 Kib
Giga Binary Bit
Gib
1024 Gib
Kilo Binary Byte
KiB
1024 Byte 8192 Bit
Mega Binary Byte
MiB
1024 KiB
Giga Binary Byte
GiB
1024 MiB
Lezione uno: Introduzione (vedi libro di testo pag. 12-15)
Informazione = Incremento conoscenza → la comunico/trasmetto da un mittente ad un ricevente
attraverso un LINGUAGGIO (Formale o Informale.... differenze pregi/difetti)
Un linguaggio formale o CODICE da cosa è caratterizzato?
Che cos'è un CODICE ?
Fatemi esempi
 Morse
Un codice è un insieme di regole e simboli utilizzati per rappresentare l'informazione
Esempio
 che cos'è 7? il numero sette? E allora VII ? È una sua rappresentazione
 -15°C è la temperatura di meno quindici gradi centigradi o la rappresenta ?

Semaforo (Fermo, vai, vai veloce, preparati a partire, preparati a fermarti...)
Un codice è composto da tre elementi
 Un insieme di simboli che costituisce l'alfabeto del codice (con l'alfabeto si possono
generale le PAROLE alcune sono “Valide” altre non lo sono (regole sintattiche)
 Un insieme di informazioni da rappresentare
 Delle regole che fanno corrispondere ad ogni informazione da rappresentare una parola
(sequenza di simboli dell'alfabeto) del codice → Semantica del linguaggio
Dunque noi utilizziamo già un CODICE per rappresentare i numeri; come viene chiamato?
SISTEMA DI NUMERAZIONE POSIZIONALE DECIMALE
 Decimale-> dieci cifre
 Posizionale-> le cifre hanno pesi valori diversi a seconda del posto che occupano nella
rappresentazione
 Esempi
■ 131 il primo 1 a sinistra vale 100 (100) il secondo vale 1 !
 Come si calcola il valore di un numero in questo sistema..
 Potenze crescenti... LSD (Least Significant Digit) e MSD (most significant Digit)
 Ruolo dello zero (insignificante come MSD significativo come LSD
Altri sistemi di numerazione POSIZIONALE
 Binario --> 2 cifre (0,1)
 Ottale --> 8 cifre (0,1,2,3..,7)
 Esadecimale ---> 16 cifre (0,1,2,...,9,A,B,...,F)
A questo punto se io vi scrivo 1011 voi non siete in grado di dirmi il significato in quanto devo
specificare il codice utilizzato
(1001)2 != (1001)8 !=(1001)10 !=(1001)16
Supponiamo ora di avere a di poter scrivere solo numeri con al max n cifre... in quale sistema
riuscirò a rappresentare più numeri??
....
Numeri che posso rappresentare = combinazioni disponibili
In dettaglio che numeri riesco a rappresentare ??
 intervallo compreso tra 0 e base alla n meno 1
Dunque in base 2....
Dunque in base 8 ....
Dunque in base 16...
Lezione due Conversione tra sistemi di numerazione posizionali (vedi libro di testo pag. 17-24 sul
libro manca la parte dopo la virgola)
 Solo interi
 Conversione da base 10 a base n
■ Si divide per la base fino ad avere quozioente zero. Iresti ottenuti sono le cifre del
numero convertito. ATTENZIONE Ultimo resto → Cifra più significativa, primo
resto cifra meno significativa.
■ (10)10=(?) 2 10:5 = 5 resto 0 5:2=2 Resto 1 2:2=1 Resto 0 1:2=0 Resto 0 Numero
convertito 1010
 Conversione da base n a base 10
■ La cifra meno significativa viene indicata come posizione zero quella subito a
sinistra come posizione 1 etc. Per calcolare il numero convertito si sommano le cifre
moltiplicate per la base elevata alla poszione (1011)2 = 1(cifra)*20(base)(posizione)+ ...
+1(cifra)*23(base)(posizione)
 Parte frazionaria
 Conversione da base n a base 10
■ Come nel caso dei numeri interi tenendo conto che le posizioni a destra della virgola
sono da considerarsi negative. La prima cifra dopo la virgola è la posizione -1, la
seconda cifra dopo la virgola è la posizione -2 etc. (1011)2 = 1(cifra)*2-1(base)(posizione)


+0(cifra)*2-2(base)(posizione)+ ...+1(cifra)*2- 4(base)(posizione)
Conversione da base 10 a base n
■ Prima si converte la parte intera con il metodo già visto. Poi si moltiplica la parte
decimale per la base. La parte intera ottenuta sarà la prima cifra dopo la virgola. Si
ripete il procedimento fino ad ottenere parte decimale pari a zero
Conversioni dirette (base 2 <--> base 16 e base 2 <---> base 8)
 Ogni cifra in base 8 corrisponde a tre cifre in base due
■ Da base 2 a base otto divido il numero in gruppi di tre cifre a partire dalla cifra meno
significativa. Sostituisco ogni gruppo con la corrispondente cifra ottale
■ Da base 8 a base 2 sostituisco ogni cifra ottale con il corrispondente terzetto di cifre
binarie.
 Ogni cifra in base 16 corrisponde a quattro cifre in base due
■ Da base 2 a base sedici divido il numero in gruppi di quattro cifre a partire dalla cifra
meno significativa. Sostituisco ogni gruppo con la corrispondente cifra esadecimale
■ Da base 16 a base 2 sostituisco ogni cifra esadecimale con il corrispondente quartetto
di cifre binarie.