Rappresentazione dell Informazione

Documenti analoghi
Sistemi di Elaborazione delle Informazioni

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

Rappresentazione dell informazione

Rappresentazione dell informazione

Codifica binaria. Rappresentazioni medianti basi diverse

Programma del corso. Rappresentazione delle Informazioni. Introduzione agli algoritmi. Architettura del calcolatore

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

Rappresentazione numeri reali

Somma di numeri binari

Informatica. Mario Pavone - Dept. Mathematics & Computer Science - University of Catania. Trasferimento. Ambiente esterno.

La codifica binaria. Fondamenti di Informatica. Daniele Loiacono

Lezione 2. Rappresentazione dell informazione

Aritmetica dei Calcolatori Elettronici

Codifica di informazioni numeriche

Programma del corso. Introduzione Rappresentazione delle Informazioni Calcolo proposizionale Architettura del calcolatore Reti di calcolatori

1-Rappresentazione dell informazione

La Rappresentazione dell Informazione

modificato da andynaz Cambiamenti di base Tecniche Informatiche di Base

Sistemi di Numerazione Binaria

Sommario. I Sistemi di numerazione Posizionale e non Posizionale (1/2) I Codici. I Codici I Sistemi di numerazione Posizionali e non posizionali

Calcolatori Elettronici Parte III: Sistemi di Numerazione Binaria

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

Rappresentazione dei Dati

La codifica binaria. Informatica B. Daniele Loiacono

Esame di Informatica. Facoltà di Scienze Motorie LE UNITA DI MISURA (1/4) LE UNITA DI MISURA (3/4) LE UNITA DI MISURA (2/4) Lezione 2

Lezione 2. Rappresentazione dell informazione

Programma del corso. Rappresentazione delle Informazioni. Introduzione agli algoritmi. Architettura del calcolatore. Elementi di Programmazione

Introduzione e Nozioni di Base. Prof. Thomas Casali

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

Sistemi numerici: numeri senza segno

Algebra di Boole e porte logiche

La codifica binaria. Sommario

Rappresentazione delle Informazioni. Prof. Francesco Accarino IIS Altiero Spinelli Via Leopardi 132 Sesto San Giovanni

La codifica binaria. Informatica B. Daniele Loiacono

Lo schema seguente presenta le principali informazioni che devono essere rappresentate mediante codici binari.

Unità aritmetica e logica

Architettura di un elaboratore. Rappresentazione dell informazione digitale

La codifica. dell informazione

LA CODIFICA DELL INFORMAZIONE

Informatica di Base - 6 c.f.u.

Rappresentazione dei Numeri

Rappresentazione informazione ed elementi di aritmetica dei computer

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

Corso di Laurea in Scienze e Tecnologie Chimiche corso di Informatica Generale

Rappresentazione dell informazione

Fondamenti di Informatica

Calcolatori Elettronici Parte II: Sistemi di Numerazione Binaria. Prof. Riccardo Torlone Università di Roma Tre

Calcolatori Elettronici Parte II: Sistemi di Numerazione Binaria. Prof. Riccardo Torlone Università di Roma Tre

I sistemi di numerazione. Informatica - Classe 3ª, Modulo 1

Corso di Architettura degli Elaboratori

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

La codifica dell informazione

La codifica. dell informazione

Introduzione. Elementi di Informatica. Sistemi di Numerazione Addizionali. Sistemi di Numerazione. Sistemi di Numerazione Romano

Esercizi su Sistemi di Numerazione Binaria. Prof. Riccardo Torlone Università di Roma Tre

Rappresentazione dei numeri reali in un calcolatore

La codifica digitale

Rappresentazione dell informazione

Aritmetica dei Calcolatori

Un quadro della situazione. Lezione 6 Aritmetica in virgola mobile (2) e Codifica dei caratteri. Dove siamo nel corso. Organizzazione della lezione

La Rappresentazione dell Informazione

La rappresentazione delle informazioni

Rappresentazione di Numeri Reali. Rappresentazione in virgola fissa (fixed-point) Rappresentazione in virgola fissa (fixed-point)

Fondamenti di Informatica. per la Sicurezza. a.a. 2003/04. Calcolo binario. Stefano Ferrari

senza togliersi le scarpe

La codifica dei numeri

Bit, Byte, Word e Codifica Dati

Aritmetica dei Calcolatori

Rappresentazione dell informazione

Calcolatore e unità di misura

N= a i b i. Numeri e numerali. Sistemi di Numerazione Binaria. Sistemi posizionali. Numeri a precisione finita

Calcolo numerico e programmazione Rappresentazione dei numeri

Sistemi di Elaborazione delle Informazioni 6 CFU

Codifica dell Informazione

Argomenti trattati. Informazione Codifica Tipo di un dato Rappresentazione dei numeri Rappresentazione dei caratteri e di altre informazioni

Codifica dell Informazione

Esercitazioni su rappresentazione dei numeri e aritmetica. Interi unsigned in base 2

INFORMATICA GENERALE E BASI DI DATI PER ARCHIVI AUDIOVISIVI (PRIMO MODULO) Claudio Piciarelli A.A. 2013/2014

Codifica dell informazione

Sistema Numerico Decimale

Informazione binaria: - codici binari, notazione binaria/ottale/esadecimale -

Numeri Frazionari. Numeri Frazionari

La "macchina" da calcolo

Sistemi di Numerazione Binaria

Codifica binaria dell informazione

Sistemi di Numerazione Binaria

Fondamenti di Informatica

Rappresentazione delle frazioni proprie Aritmetica in binario Barbara Masucci

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

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

Utilizzata per rappresentare numeri frazionari nella. numero =(mantissa) 2 esponente. Il formato piu utilizzato e quello IEEE P754, rappresentato

Informatica. Informatica. Grandezze digitali. Grandezze analogiche

Rappresentazione digitale delle informazioni

Per approfondire: La rappresentazione delle informazioni all interno dei computer

La Rappresentazione dell Informazione. Prof.Ing.S.Cavalieri

Informazione binaria: - rappresentazione dei numeri razionali -

Rappresentazione dei dati in memoria

I.4 Rappresentazione dell informazione

Codifica. Rappresentazione di numeri in memoria

Rappresentazione dell Informazione

Transcript:

Rappresentazione dell Informazione 1

La codifica delle informazioni INFORMAZIONI codifica DATI forma adatta per essere trattata dall elaboratore interpretazione 2

Il bit Si consideri un alfabeto di 2 simboli: 0, 1 Che tipo di informazione si può rappresentare con un bit? 3

La Cavalcata di Paul Revere Ascoltate figli figli miei, miei, vi vi voglio voglio raccontare di di Paul Paul Revere Revere e della della sua sua cavalcata di di mezzanotte del del 19 19 aprile aprile 1775. 1775. Coloro Coloro che che potrebbero ricordare quel quel memorabile giorno giorno e l anno l anno sono sono ormai ormai morti morti tutti. tutti. Egli Egli disse disse al al suo suo amico amico Se Se gli gli inglesi inglesi giungeranno dalla dalla terra terra o dal dal mare, mare, questa questa notte notte appendi una una lanterna sula sula campanile della della Old Old North North Church Church come come segnale. Una Una lanterna lanterna se se vengono da da terra, terra, due due se se vengono dal dal mare. mare. Io Io sarò sarò sulla sulla riva riva opposta opposta pronto pronto a cavalcare e dare dare l allarme generale. In In ogni ogni villaggio villaggio del del Middlesex e in in ogni ogni fattoria, fattoria, i i contadini saranno saranno pronti pronti a battagliare. Entrambe spente (00): Situazione tranquilla Solo una accesa (01 o 10): Gli inglesi attaccano da terra Entrambe accese (11): Attacco dal mare 4

Informazioni complesse Per codificare i nomi delle 4 stagioni bastano 2 bit Ad esempio: 0 0 per rappresentare Inverno 0 1 per rappresentare Primavera 1 0 per rappresentare Estate 1 1 per rappresentare Autunno Quanti bit per codificare i nomi dei giorni della settimana? 5

Bit Necessari Le macchine hanno vincoli spaziali E necessario conoscere il massimo valore rappresentabile Con n bit si può rappresentare al massimo il numero 2 n -1 E facile determinare che per poter rappresentare fino ad X combinazioni diverse, sono necessari un numero n di bit pari a log2 X Dove la notazione y resitituisce il più piccolo numero intero maggiore o uguale a y 6

Bit necessari In generale, con N bit, ognuno dei quali può assumere 2 valori, possiamo rappresentare 2 N informazioni diverse (tutte le possibili combinazioni di 0 e 1 su N posizioni) viceversa Per rappresentare M informazioni dobbiamo usare N bit, in modo che 2 N >= M 7

Overflow Esiste un limite al numero di bit impiegati per rappresentare un numero Dato che la rappresentazione è formata da un numero finito di bit, se si supera tale limite si ha errore (overflow) MAX Numero intero rappresentato... 4 3 2 1 1 2 3 4... Numero intero 8

Codifica binaria Esiste una particolare aggregazione di bit che è costituita da 8 bit (2 8 = 256 informazioni) e prende il nome di byte Di solito si usano i multipli del byte Kilo Mega Giga Tera Peta KB MB GB TB PB 2 10 (~ un migliaio, 1024 byte) 2 20 (~ un milione, 1KB x 1024) 2 30 (~ un miliardo, 1MB x 1024) 2 40 (~ mille miliardi, 1GB x 1024) 2 50 (~ miliardo miliardi, 1TB x 1024) 9

Digitale o Analogico? I segnali analogici sono molto sensibili alle interferenze (rumore) I segnali digitali possono assumere solo due stati Per un dispositivo è semplice distinguere questi due stati, per cui vie è una maggiore immunità alle interferenze 10

Perché Digitale? Una buona foto in bianco e nero presa da un giornale avrà circa 256 sfumature di grigio Rappresentazione analogica 256 gradi di luminosità con una lampada Attenzione alle interferenze provocate dalla nebbia! Rappresentazione digitale 8 lampade (256 configurazioni diverse) Ciascuna configurazione sarebbe più sicura anche in caso di nebbia! 11

Rappresentazione Binaria informazione codifica decodifica rappresentazione binaria Mondo esterno Computer: memorizzazione, elaborazione Analogico Digitale 12

Informazioni Numeri Interi positivi Positivi e negativi Reali Testi Immagini fisse Vettoriali Bitmap Audio Video Informazioni tradizionali Informazioni multimediali 13

Sistemi Numerici 14

Generalità 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 15

Sistemi Numerici Sistemi numerici non posizionali Il valore delle cifre è indipendente dalla posizione Es. Numeri romani Sistemi numerici posizionali Il valore delle cifre dipende dalla loro posizione all interno del numero Ogni posizione ha un peso 16

Sistemi Numerici Posizionali Esempio N = d 3 d 2 d 1 d 0 V(N)=d 3 p 3 +d 2 p 2 +d 1 p 1 +d 0 p 0 N Rappresentazione del numero V(N) Valore del numero Sistemi a base fissa p i = r i r è la base del sistema 17

Il Sistema Decimale È un sistema numerico posizionale a base fissa Il sistema decimale utilizza r = 10 d = 0;1;2;3;4;5;6;7;8;9 18

Sistema Decimale: Esempio Cifra più significativa Cifra meno significativa 8427 = 8 10 3 + 4 10 2 + 2 10 1 + 7 10 0 19

Sistema Binario Anche il sistema binario è un sistema numerico posizionale a base fissa Il sistema binario utilizza r = 2 d = 0;1 Ogni cifra è detta bit (da BInary digit) 20

Sistema Binario: Esempio Bit più significativo (MSB) Bit meno significativo (LSB) 1011 2 = 1 2 3 + 0 2 2 + 1 2 1 + 1 2 0 = 11 10 21

Decimale a Binario Es.: 11510 = 11100112 115 2 1 57 2 1 28 2 0 14 2 0 7 2 1 3 2 1 1 2 1 0 22

Somma binaria La tabella di definizione è: 0 + 0 = 0 0 + 1 = 1 1 + 0 = 1 1 + 1 = 0 con riporto di 1 1 + 1 + 1 = 1 con riporto di 1 Esempi 23

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 Esempi 24

Altre Basi di Numerazione Comuni Sistema ottale r = 8 d = 0,1,2,3,4,5,6,7 Sistema esadecimale r = 16 d = 0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F 25

Esadecimale e Binario Esiste una corrispondenza diretta tra cifre esadecimali e il corrispondente binario Esadecimale: 16 cifre 4 bit per rappresentare una cifra esadecimale 11000110 2 C 6 26

Conversione da binario ad esadecimale Esiste una corrispondenza diretta tra cifre esadecimali e il corrispondente binario 10001011 2 15 = 1111 = F 1000 1011 8 B h 27

Numeri Negativi Esistono diverse possibilità di rappresentazione Modulo e segno (M&S) Complemento a 2 (C2) 28

Modulo e Segno Convenzione per il bit più significativo 0: segno positivo 1: segno negativo Esempio +5 00101-10 11010 Esistono due rappresentazioni per lo 0 +0 00000-0 10000 29

Complemento a 2 Dato X in base 2 di n bit 1 + NOT(X) è il complemento a 2 di X Se X=01011, il suo complemento a 2 è 1 + NOT(01011) = 1 + 10100 =10101 Regoletta pratica Il complemento a 2 si calcola analizzando i bit del numero a partire da destra: si riportano invariati tutti gli zeri fino al primo bit a 1, si riporta invariato questo stesso bit a 1, si complementano tutti gli altri bit 30

Complemento a 2 Se d n-1 d n-2 d 2 d 1 d 0 è un numero binario rappresentato in C2 a n bit, l equivalente decimale si calcola come -2 n-1 d n-1 +2 n-2 d n-2 + +2 2 d 2 +2 1 d 1 +d 0 31

Osservazioni sul C2 Unica rappresentazione dello 0 I numeri positivi hanno il bit più significativo (segno) posto a zero I numeri negativi sono rappresentati dal complemento a 2 del corrispondente numero positivo, segno compreso Esempio +3 10 00011 2 C2(00011 2 ) = 11101 2 11101 2-3 10 32

Complemento a 2 vs. M&S Usando modulo e segno La somma algebrica di numeri positivi e negativi può generare problemi Servono sistemi hardware specifici per la gestione corretta del formato E' necessario riconoscere il segno dal primo bit Usando il complemento a due La sottrazione si esegue con una somma! 33

Intervallo di Valori Rappresentabili Rappresentazione M&S -2 n-1 + 1 N 2 n-1-1 Rappresentazione C2-2 n-1 N 2 n-1-1 34

Rappresentazione Numeri Reali E spesso necessario utilizzare numeri reali Due rappresentazioni Virgola Fissa Virgola Mobile 35

Virgola Fissa Intero 0 1 0 1 0 0 1 1-2 7 2 6 2 5 2 4 2 3 2 2 2 1 2 0 = 2 6 + 2 4 + 2 1 + 2 0 = 83 Virgola Fissa 0 1 0 1 0 0 0 0-2 0 2-1 2-2 2-3 2-4 2-5 2-6 2-7 = 2-1 + 2-3 = 0.5 + 0.125 = 0.625 36

Virgola Mobile E la risposta alla necessità di manipolare numeri di ordini di grandezza diversi Notazione scientifica (numeri espressi nella forma) X.YYY * 10 W X: parte intera Y: parte frazionaria W: esponente 37

Virgola Mobile Nomenclatura A = M * B E M: mantissa B: base E: esponente Necessita di un segno per la mantissa e uno per l esponente 38

Virgola Mobile Forma normalizzata Numero = ± 1.XXXXXXX * 2 a.xxxxxxx parte frazionaria a è detto esponente vero 39

Virgola Mobile Rappresentazione IEEE P754 (32 bit) 1 bit per il segno 8 bit per l esponente (rappresentazione eccesso 127) 23 per la mantissa (parte frazionaria - normalizzata) 31 30 23 22 0 Segno S Esponente E Mantissa F 1 8 23 N = (-1) S 2 E-127 1.F 40

Virgola mobile L'esponente influisce principalmente sul numero massimo (e di conseguenza minimo). La mantissa influisce principalmente sull'approssimazione (ovvero sulla precisione). 41

Virgola mobile La procedura standard per la conversione da numero decimale a numero binario P754 single è la seguente: Prima di tutto il numero, in valore assoluto, va convertito in binario. Il numero va poi diviso (o moltiplicato) per 2 fino a ottenere una forma del tipo 1,xxxxxx. Di questo numero viene eliminato l'1 iniziale (per risparmiare memoria) Il numero di volte per cui il numero è stato diviso (o moltiplicato) per 2 rappresenta l'esponente: questo valore (decimale) va espresso in eccesso 127, ovvero è necessario sommare 127 e convertire il numero risultante in binario. Nel caso di rappresentazione a precisione doppia (v. definizione seguente) il valore dell'esponente viene espresso in eccesso 1023. 42

Virgola mobile Per esempio, convertiamo il valore 14,3125 10 in binario P754: Convertiamo prima di tutto il numero: 14 10 = 1110 2 per la parte intera e 0,3125 10 = 0,0101 2. Quindi il numero definitivo è 1110,0101 2 (segno escluso). Dividiamo poi il numero per 2 per ottenere la seguente notazione: 1110,0101 2 = 1,1100101 2 * 2 3 La mantissa diventa, quindi: 1100101. Per esprimere l'esponente in eccesso 127, infine: 127 + 3 = 130 10 = 10000010 2 Il numero, alla fine, sarà espresso nel formato: 1 10000010 11001010000000000000000 43

Virgola mobile 0,3125 10 = 0,0101 2 Alternativa: 0,3125 / 0,5 = 0,625 riporto 0 0,625 / 0,5 = 1,25 riporto 1 0,25 / 0,5 = 0,5 riporto 0 0,5 / 0,5 = 1 riporto 1 (ovvero 2-1 ) 44

Virgola mobile 0,3125 10 = 0,0101 2 Devo esprimere 0,3125 in forma normalizzata, divido per 0,5 (ovvero 2-1 ) fin quando non ottengo un intero: 0,3125 / 0,5 = 0,625 / 0,5 = 1,25 / 0,5 = 2,5 / 0,5 = 5 Ho diviso 4 volte 5=101 2 La forma normalizzata sarà data da 101 2 *2-4, ovvero 0,0101 2 Nota bene: dividere per 0,5 equivale a moltiplicare per 2. 45

Virgola mobile In base al numero di bit che abbiamo a disposizione possiamo utilizzare tre formati: il formato a precisione singola (32 bit), il formato a precisione doppia (64 bit) e il formato a precisione quadrupla (128 bit). Nel primo caso possiamo scrivere il valore utilizzando 1 bit per il segno, 8 bit per l'esponente e 23 bit per la mantissa Nel secondo caso servirà 1 bit per il segno, 11 bit per l'esponente e 52 per la mantissa. Nel terzo caso servirà 1 bit per il segno, 15 bit per l'esponente e 112 per la mantissa. 46

Problemi con la virgola mobile In generale, questo tipo di numeri si comportano in modo molto simile ai numeri reali. Tuttavia ciò porta spesso i programmatori a non considerare l'importanza di un'adeguata analisi numerica sui risultati ottenuti. Ci sono molte incongruenze tra il comportamento dei numeri in virgola mobile in base 2 impiegati nell'informatica e quello dei numeri reali, anche in casi molto semplici (ad esempio la frazione 0,1 che non può essere rappresentata da nessun sistema binario in virgola mobile). Per questo non è un formato impiegato ad esempio in campo finanziario. 47

Numeri speciali Categoria Esp. Mantissa Zeri 0 0 Numeri denormalizzati 0 non zero Numeri normalizzati 1-254 qualunque Infiniti 255 0 Nan (not a number) 255 non zero 48

Limiti della precisione singola Esponente Minimo Massimo Precisione 0 1 1.999999880791 1.19209289551e-7 1 2 3.99999976158 2.38418579102e-7 2 4 7.99999952316 4.76837158203e-7 10 1024 2047.99987793 1.220703125e-4 11 2048 4095.99975586 2.44140625e-4 23 8388608 16777215 1 24 16777216 33554430 2 127 1.7014e38 3.4028e38 2.02824096037e31 49

Esercizi Calcolare la rappresentazione binaria P754 dei seguenti numeri decimali: +1,58-34652,6 0,000346526-4,53 * 10-3 50

Memorizzazione su Calcolatore e Codici 51

Bit, Byte e Word L'unità atomica è il bit (BInary DigiT) L'insieme di 8 bit è detto byte Word Tipicamente 16, 32 o 64bit Insieme di bit la cui dimensione è una importante caratteristica del calcolatore considerato. Essa influenza La larghezza degli indirizzi La dimensione dei registri del processore Larghezza dei bus (word o multipli di essa) 52

Intervalli di Variabilità Bit Numero di configurazioni: 2 Intervallo di variabilità: {0,1} Byte Numero di configurazioni: 256 Intervallo di variabilità: dipende dal tipo di codifica 53

Intervalli di Variabilità (byte) Modulo 256 configurazioni Intervallo di Variabilità: [0, 255] Modulo e segno 256 configurazioni Intervallo di Variabilità: [-127, +127] Complemento a 2 256 configurazioni Intervallo di Variabilità: [-128, +127] 54

Codifica dei Testi Si utilizza una tabella (arbitraria) Standard oggi (quasi) universalmente riconosciuto Codice ASCII (American Standard Code for Information Interchange) Ogni carattere (simbolo) è codificato con 7 bit 128 simboli diversi 55

Tabella dei Codici ASCII 56

Codice ASCII - note I caratteri alfabetici sono consecutivi e in ordine (alfabetico) La distanza tra una lettera minuscola e la corrispondente maiuscola è costante Le cifre decimali sono consecutive e in ordine (da 0 a 9) Grazie alla codifica numerica è possibile dire che B = A + 1 oppure che A = a - 32 57

Codice ASCII Esteso Si utilizzano 8 bit 256 simboli diversi 58

UNICODE Abbiamo considerato il codice Extended ASCII: 8 bit per carattere È stato basato dal codice ASCII: 7 bit per carattere Il codice ASCII non include à, è, é, ì, ò, ù, per esempio Un altro codice UNICODE, 16 bit per carattere (Extended ASCII + caratteri etnici) 2 16 = 65.536 simboli 59

UNICODE - Font In informatica il tipo di carattere o font è un insieme di caratteri tipografici caratterizzati e accomunati da un certo stile grafico. 60

Font the quick brown fox jumps over a lazy dog the quick brown fox jumps over a lazy dog the quick brown fox jumps over a lazy dog the quick brown fox jumps over a lazy dog the quick brown fox jumps over a lazy dog the quick brown fox jumps over a lazy dog thequickbrown foxjumpsover a lazy dog 61

Rappresentazione di parole Abbiamo visto come rappresentare i singoli caratteri, ma le parole? In informatica le parole sono stringhe, ovvero concatenazioni di caratteri. 62

Stringhe Supponiamo di voler codificare la parola STUDENTE : S T U D E N T E = 83 ; 84 ; 85 ; 68 ; 69 ; 78 ; 84 ; 69 Ovvero la parola studente è composta da 8 caratteri in sequenza. 63