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.