Rappresentazione dell informazione

Похожие документы
Notazione posizionale. Codifica binaria. Rappresentazioni medianti basi diverse. Multipli del byte

Codifica binaria. Rappresentazioni medianti basi diverse

I.4 Rappresentazione dell informazione

Corso di Architettura degli Elaboratori

1.2f: Operazioni Binarie

Rappresentazione dell Informazione. Sistemi di Elaborazione delle Informazioni Rappresentazione Informazione 1

Corso di Architettura degli Elaboratori

Rappresentazione dei numeri

Conversione di base. Conversione decimale binario. Si calcolano i resti delle divisioni per due

Aritmetica dei Calcolatori Elettronici

Codifica binaria dell informazione

Politecnico di Bari Sede di Foggia. docente: Prof. Ing. Michele Salvemini

Codifica dei Numeri. Informatica ICA (LC) 12 Novembre 2015 Giacomo Boracchi

La codifica. dell informazione

Rappresentazione dei numeri interi in un calcolatore

Lezione 3. I numeri relativi

Rappresentazione dei numeri interi in un calcolatore

La codifica. dell informazione

Fondamenti di Informatica - 1. Prof. B.Buttarazzi A.A. 2011/2012

La codifica dei numeri

Rappresentazione di numeri relativi (interi con segno) Rappresentazione di numeri interi relativi (con N bit) Segno e Valore Assoluto

Codifica e aritmetica binaria

Rappresentazione e Codifica dell Informazione

Rappresentazione di dati: numerazione binaria. Appunti per la cl. 3 Di A cura del prof. Ing. Mario Catalano

LA CODIFICA DELL INFORMAZIONE. Introduzione ai sistemi informatici D. Sciuto, G. Buonanno, L. Mari, McGraw-Hill Cap.2

Rappresentazione binaria

Algoritmi Istruzioni che operano su dati. Per scrivere un programma è necessario. che l esecutore automatico sia in grado di.

La rappresentazione delle informazioni in un computer. La numerazione binaria

Analogico vs. Digitale. LEZIONE II La codifica binaria. Analogico vs digitale. Analogico. Digitale

Esercitazioni su rappresentazione dei numeri e aritmetica dei calcolatori

Corso di Informatica Generale (C. L. Economia e Commercio) Ing. Valerio Lacagnina Rappresentazione dei numeri relativi

Pag. 1. La Rappresentazione e la Codifica delle informazioni (parte 2) Tipi di dati. Informatica Facoltà di Medicina Veterinaria

LA CODIFICA DELL INFORMAZIONE

Modulo: Elementi di Informatica

Architettura degli Elaboratori

I.4 Rappresentazione dell informazione - Numeri con segno

Corso di Sistemi di Elaborazione delle informazioni

Calcolo numerico e programmazione Rappresentazione dei numeri

Programmazione I Paolo Valente /2017. Lezione 6. Notazione posizionale

Транскрипт:

Rappresentazione dell informazione Problema che coinvolge aspetti filosofici Interessa soprattutto distinguere informazioni diverse Con un solo simbolo è impossibile Pertanto l insieme minimo è costituito da 2 simboli (alfabeto binario) 38 Rappresentazione dell informazione Le informazioni vengono rappresentate mediante sequenze di simboli Nel caso dei simboli binari, le informazioni (numeri, oggetti, parole) sono rappresentate da sequenze dei due simboli Servono regole di manipolazione dei simboli 39 1

Sistemi numerici Per determinare un sistema numerico serve: un insieme limitato di simboli (le cifre), che rappresentano quantità prestabilite (1, 2, V, X, M) le regole per costruire i numeri: sistemi numerici posizionali sistemi numerici non posizionali 40 Sistemi numerici Sistemi numerici non posizionali: Il valore delle cifre è indipendente dalla posizione all interno del numero Sistemi numerici posizionali: il valore delle cifre dipende dalla loro posizione all interno del numero (ogni posizione ha un peso) 41 2

Sistemi numerici posizionali Esempio: N = c1 c2 c3 c4 ; F(N) = c1*p1 + c2*p2 + c3*p3 + c4*p4 Sistemi a base fissa: pi = b i dove: b è la base del sistema c i rappresentano le cifre 42 Sistema decimale Il sistema decimale utilizza: b = 10 c = 0,1,2,3,4,5,6,7,8,9 È importante notare che qualsiasi sistema posizionale a base fissa è irridondante 43 3

Sistema binario Il sistema binario utilizza: b = 2 c = 0,1 Ogni cifra è detta bit (da BInary digit) 44 Rappresentazione binaria Se B=2 la sequenza c n c n-1 c n-2... c 1 c 0 Dove ciascun c k < 2 rappresenta il numero c 0 x 2 0 + c 1 x 2 1 +... c n-1 x 2 n-1 +c n x 2 n Es. la sequenza 1011 in base 2 denota il numero 1 x 2 0 + 1 x 2 1 + 0 x 2 2 +1 x 2 3 = 11 45 4

Altri sistemi utilizzati Sistema ottale: b = 8 c = 0,1,2,3,4,5,6,7 Sistema esadecimale: b = 16 c = 0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F Perche usiamo queste particolari basi? 46 Conversioni di base Da binario a decimale: moltiplicazioni successive Da decimale a binario: divisioni successive 47 5

Conversioni di base Utilizzando la definizione: 1010 2 = (1*8 + 0*4 + 1*2 + 0*1) 10 = = (8+2) 10 = 10 10 Oppure si può utilizzare il seguente formato (moltiplicazioni successive): N = ((c n -1 *b + c n-2 )*b + c n-3 ) )*b + c 0 48 Conversioni di base Esempio: X=115 10 = 1110011 2 : 115 / 2 = 57 c 0 = 1 (LSB) 57 / 2 = 28 c 1 = 1 28 / 2 = 14 c 2 = 0 14 / 2 = 7 c 3 = 0 7 / 2 = 3 c 4 = 1 3 / 2 = 1 c 5 = 1 1 / 2 =1 c 6 = 1 (MSB) X 2 = c 6 c 5 c 4 c 3 c 2 c 1 c 0 49 6

Esempio in base 2 Come si rappresenta 13 in base 2? Ci servono almeno 4 cifre (2 3 =8) 13 : 2 = 6 con resto 1 6 : 2 = 3 con resto 0 3 : 2 = 1 con resto 1 codice(13,2) = 1 1 0 1 = 1*8+1*4+1 50 Numero di bit necessario Le macchine hanno vincoli spaziali: è necessario conoscere il massimo valore rappresentabile: con n bit si può rappresentare al massimo il numero 2 n -1 è facile determinare che n = INT( log 2 (X+1) ) 51 7

Conversione base N > decimale Partendo dalla cifra più significativa, si moltiplica la cifra per il valore della base, elevata alla potenza corrispondente alla posizione. Esempio: Convertire (302) 7 in base 10: La cifra meno significativa indica il coefficiente di 7 0, quella più significativa il coefficiente di 7 2, per cui: (304) 7 = 3 7 2 + 0 7 1 + 4 7 0 = 49 3 + 0 + 4 1 = 147 + 0 + 4 = 151 52 Conversione base N > base M In generale conviene fare la conversione da base N a base 10, seguita dalla conversione da base 10 a base M. Nel caso particolare in cui si debba passare dalla base 2 alle basi 8 o 16 ( o viceversa ), il calcolo è semplificato perché: ogni cifra ottale ( 0,, 7 ) è esprimibile nella corrispondente codifica binaria ( 000,, 111 ) su 3 cifre binarie ogni cifra esadecimale ( 0,, F ) è esprimibile nella corrispondente codifica binaria ( 0000,, 1111) su 4 cifre binarie 53 8

Esempi 10011 2 =1 2 0 +1 2 1 +0 2 2 +0 2 3 +1 2 4 =1+2+16=19 237 8 = 7 8 0 +3 8 1 +2 8 2 =7+24+128=159 1AF 16 =15 16 0 +10 16 1 +1 16 2 = 5+160+256=431 54 Esempio di conversione Convertire (01001010100010110) 2 in ottale Partendo dalla cifre meno significativa si considerano la cifre rispettivamente a gruppi di 3: 01 001 010 100 010 110 1 1 2 4 2 6 Quindi: (01001010100010110) 2 = (112426) 8 Convertire (A3D) 16 in binario Scriviamo le singole cifre esadecimali come numeri binari di 4 cifre: (A) 16 (3) 16 (D) 16 (1010) 2 (0011) 2 (1101) 2 Quindi: (A3D) 16 = (101000111101) 2 55 9

Funzione di codifica Dato M, la sua codifica posizionale in base N si estrae utilizzando la divisione con resto come segue M = A 1 * N +B 1 (M diviso N con resto B1) A 1 = A 2 * N + B 2. A k-1 = A k * N + B k Fino a che il quoziente A k diventa 0 Infine si definisce codice(m,n) = A k B k B 1 56 Esempio in base 8 Come si rappresenta 140 in base 8? Ci servono almeno 3 cifre (8 2 =64) 140 : 8 = 17 con resto 4 17 : 8 = 2 con resto 1 Codice(140,8) = 214 = 2*8 2 + 8 + 4 57 10

Esempio in base 16 Come si rappresenta 140 in base 16? Ci servono almeno 2 cifre 140 : 16 = 8 con resto 12 rappresentato con C Codice(140,16) = 8C = 8*16 + 12 58 Codifica Binaria Dato un insieme U di n elementi ed un numero intero k fissato, una codifica binaria di U a k bit consiste nell assegnamento di sequenze di k bit agli elementi di U in modo univoco, ossia in modo tale che ad ogni elemento corrisponda un unica sequenza e ad ogni sequenza un unico elemento Più formalmente una codifica è una funzione iniettiva c:u {0,1} k Esempio U={Luca, Marco, Alessio} Codifica di U a 2 bit: c(luca)=00, c(marco)=01 e c(alessio)=10 59 11

Codifica binaria dell informazione Esempi: condizioni atmosferiche, ad es. pioggia, nuvoloso, variabile, sereno. Servono 2 bit. Esempio di codifica: 00 pioggia 01 nuvoloso 10 variabile 11 sereno Cosa succede se si vuole aggiungere la codifica di neve? 60 Codifica dell informazione Esempi: immagini a due colori, basta 1 bit. Un associazione classica è: 0 per il nero 1 per il bianco 61 12

Codifica dell informazione Esempi: codifica dei numeri da 0 a 9: 3 bit non bastano una possibile codifica che usa 4 bit 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 0 1 2 3 4 5 6 7 8 9 62 Codifica dell informazione La quantità di informazione contenuta nei bit è molto piccola Risulta conveniente utilizzare dei multipli dei bit: Byte: 8 bit Kilobyte KB: 2 10 =1024 byte Megabyte MB: 2 20 =1024 kilobyte Gigabyte GB: 2 30 =1024 megabyte Terabyte TB: 2 40 =1024 gigabyte Es: una RAM di 512 Mbyte contiene 512 2 20 byte o 512 2 20 8 bit Poiché 2 10 1000, a volte si approssimano K con mille, M con milione, G con miliardo, etc. 63 13

Operazioni aritmetiche Per ogni operazione esiste una tabella Per effettuare operazioni è necessario conoscere la definizione del comportamento per ogni coppia di simboli 64 Somma binaria La tabella di definizione è: 0 + 0 = 0 0 + 1 = 1 1 + 0 = 1 1 + 1 = 0 con riporto di 1 (carry) 65 14

Sottrazione binaria La tabella di definizione è: 0-0 = 0 1-0 = 1 1-1 = 0 0-1 = 1 con prestito di 1 dal bit di peso superiore (borrow) 66 Moltiplicazione e divisione Si utilizzano le stesse procedure: per la moltiplicazione: somma e scorrimento per la divisione: differenza e scorrimento 67 15

Overflow e Underflow Generalmente la rappresentazione è formata da un numero finito di bit: se si supera tale limite si ha errore. Sono condizioni in cui si ha un errore nella rappresentazione del risultato 68 Check intermedio Di cosa abbiamo discusso? Sistemi numerici Basi numeriche Conversioni di basi codifica binaria dell informazione Tabelle binarie. 69 16

Rappresentazione dei numeri nei calcolatori Esiste un limite al numero di bit impiegati per rappresentare un numero Tale limite dipende da: intervallo di variabilità occupazione di memoria 70 Numeri positivi La rappresentazione di numeri positivi non crea problemi Si può avere overflow se il risultato delle operazioni richiede un numero maggiore di bit di quanto disponibile 71 17

Numeri negativi Esistono diverse possibilità: modulo e segno: bit più significativo: positivo (0) e negativo (1) esistono due rappresentazioni per lo 0 complemento a 2: per definizione il complemento a 2 di X è 2^n -X unica rappresentazione dello 0 Esempio: -1 <=> 11111111 72 Uso dei numeri negativi Modulo e segno: la somma algebrica di numeri positivi e negativi può generare problemi servono sistemi hardware specifici per la gestione corretta del formato Complemento a due: la somma algebrica non genera problemi 73 18

Complemento a 2 Motivazione: Sia dato un numero di bit n i numeri che si possono rappresentare sono nel range [0 2 n -1] si vuole calcolare A-B si sostituisce -B con (2 n -B) si ottiene A+(2 n -B) La sottrazione si esegue mediante una somma! 74 Complemento a 2 Esprimendo i numeri su n bit: i numeri positivi sono rappresentati come in modulo e segno i numeri negativi sono rappresentati dal complemento a 2 del corrispondente numero positivo I numeri negativi hanno il bit più significativo a 1 75 19

Perche il complemento a 2? 76 Rappresentazione in complemento a 2 Fissato il numero di bit consideriamo la seguente nuova codifica il primo a sinistra identifica il segno il valore assoluto viene rappresentato invertito dopo aver negato i singoli bit infine si somma la costante 1 al modulo Ad esempio su 8 bit 0 0000010 = 2 1 1111110 = 1 1111101 + 1= -2 77 20

Complemento a 2: somma Somma bit per bit? Funziona sempre 11010+ (-6) dove 6=0110 1001 + 1 = 1010 11011= (-5) dove 5= 0101 1010 + 1 = 1011 10101 (-11) dove 11= 1011 0100+1 = 0101 Inoltre lo zero ha una sola rappresentazione: 00000000 E una buona rappresentazione 78 21