Capitolo 2 L’informazione e la sua codifica

Slides:



Advertisements
Presentazioni simili
Informatica Generale Susanna Pelagatti
Advertisements

Tecniche di compressione dei dati
Cenni sul campionamento
Le Informazioni e la loro Rappresentazione nei calcolatori
Trasmissione delle informazioni
Vincenza Ferrara dicembre 2007 Fondamenti di Matematica e Informatica Laboratorio Informatica I anno a.a
Sistemi di numerazione e codici
Codifica binaria dell’informazione
Informatica 3 Codifica binaria.
1 Corso di Laurea in Biotecnologie Informatica (Programmazione) Rappresentazione dellinformazione su calcolatore Anno Accademico 2009/2010.
Corso di Informatica per Giurisprudenza
Gli esseri viventi ricevono informazione direttamente dal mondo circostante e dai propri simili attraverso i sensi (percezione). La percezione, tuttavia,
Codifica binaria Rappresentazione di numeri
Programma del corso Dati e loro rappresentazione Architettura di un calcolatore Sistemi operativi Linguaggi di programmazione Applicativi: - fogli elettronici.
Conversione binario - ottale/esadecimale
1 © 1999 Roberto Bisiani Rappresentazione delle informazioni n Occorre un codice n Legato alla tecnologia usata Robustezza Semplicita Economicita.
RAPPRESENTAZIONE DELL’INFORMAZIONE
Claudia Raibulet Algebra Booleana Claudia Raibulet
Elementi di Informatica
Corso di Laurea in Biotecnologie corso di Informatica Paolo Mereghetti DISCo – Dipartimento di Informatica, Sistemistica e Comunicazione.
Programma del corso Introduzione agli algoritmi Rappresentazione delle Informazioni Architettura del calcolatore Reti di Calcolatori (Reti Locali, Internet)
RAPPRESENTAZIONE DELL'INFORMAZIONE
Parte Terza: Codificare l’informazione
Che cos’è un sistema di numerazione?
RAPPRESENTAZIONE DELLE INFORMAZIONI
ECDL Patente europea del computer
Codifica dell’informazione
DIGITALIAZZAZIONE Di Alessio.
La rappresentazione delle informazioni in un computer
Process synchronization
Rappresentazione dell’informazione nel calcolatore.
Rappresentazione Dati Codificare informazioni nel Computer
Informatica Docente : Jeremy Sproston Orario: Gruppo 1: (gli studenti i cui cognomi iniziano con la lettera A fino alla lettera L (inclusi)) Lunedì ore.
Codifica dell’informazione
Informatica Lezione 3 Scienze e tecniche psicologiche dello sviluppo e dell'educazione (laurea triennale) Anno accademico:
INFORmazione autoMATICA
1 Informatica Generale Alessandra Di Pierro Ricevimento: Giovedì ore presso Dipartimento di Informatica, Via Buonarroti,
Rappresentazione delle informazioni negli elaboratori
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Codifica binaria dell’informazione Marco D. Santambrogio – Ver. aggiornata al 11.
Fondamenti di Informatica1 Memorizzazione su calcolatore L'unità atomica è il bit (BInary DigiT) L'insieme di 8 bit è detta byte Altre forme di memorizzazione:
Rappresentazione della Informazione
Corso di Laurea in Scienze e Tecnologie Chimiche corso di Informatica Generale Paolo Mereghetti DISCo – Dipartimento di Informatica, Sistemistica e Comunicazione.
Algoritmi.
Rappresentazione dell’informazione
Rappresentazioni a lunghezza fissa: problemi
Fondamenti di Informatica
La Rappresentazione dell’Informazione
Corso di Laurea in Biotecnologie corso di Informatica Paolo Mereghetti DISCo – Dipartimento di Informatica, Sistemistica e Comunicazione.
Rappresentazione dell'informazione
La codifica dei numeri.
Conversione binario-ottale/esadecimale
Informatica Lezione 3 Psicologia dello sviluppo e dell'educazione (laurea magistrale) Anno accademico:
Codifica dei numeri Il codice ASCII consente di codificare le cifre decimali da “0” a “9” fornendo in questo modo una rappresentazione dei numeri Per esempio:
Codifica binaria dell’informazione
Rappresentazione dei numeri
6. LIMITI Definizione - Funzioni continue - Calcolo dei limiti
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Codifica binaria dell’informazione Marco D. Santambrogio – Ver. aggiornata al 11.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Numeri in virgola Marco D. Santambrogio – Ver. aggiornata al 24 Agosto 2015.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Codifica binaria dell’informazione Marco D. Santambrogio – Ver. aggiornata al 24.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Algoritmi e basi del C Marco D. Santambrogio – Ver. aggiornata al 24 Agosto 2015.
I sistemi di numerazione
Logica di base e Conversione analogico-digitale Lezione 3 / Prima parte Gaetano Arena e.mail: 1.
Informatica Problemi e algoritmi. una situazione che pone delle domande cui si devono dare risposte. Col termine problema o situazione problematica s’indica.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Numeri con segno ed in virgola Marco D. Santambrogio – Ver. aggiornata al 20 Marzo.
La numerazione ottale. Il sistema di numerazione ottale ha ampio utilizzo in informatica E’ un sistema di numerazione posizionale La base è 8 Il sistema.
Un codice è costituito da un alfabeto (insieme di simboli) parole (combinazioni di simboli validi) nel computer tutti i codici usano come alfabeto le cifre.
SOMMARIO La Digitalizzazione La Compressione LA DIGITALIZZAZIONE La digitalizzazione consiste nella trasformazione di un oggetto in una sequenza di numeri,
Rappresentazione delle informazioni negli elaboratori L’entità minima di informazione all’interno di un elaboratore prende il nome di bit (binary digit.
I numeri relativi DEFINIZIONE. Si dicono numeri relativi tutti i numeri interi, razionali e irrazionali dotati di segno (positivo o negativo). ESEMPI Numeri.
Transcript della presentazione:

Capitolo 2 L’informazione e la sua codifica 24/04/2017 Capitolo 2 L’informazione e la sua codifica Informatica e Informazione La codifica dell’informazione Analogico vs digitale Introduzione ai sistemi informatici

Informazione e Informatica 24/04/2017 Informazione e Informatica Introduzione ai sistemi informatici

Informatica e telecomunicazione 24/04/2017 Informatica e telecomunicazione Cos’è l’informatica? lo studio sistematico degli algoritmi che descrivono e trasformano l’informazione: la loro teoria, analisi, progetto, efficienza, realizzazione e applicazione [ACM – Association for Computing Machinery] la scienza della rappresentazione e dell’elaborazione dell’informazione Cos’è la telecomunicazione? la trasmissione rapida a distanza dell’informazione Attenzione: Non si parla di tecnologia dei calcolatori ! Si attribuisce ruolo centrale al concetto di informazione ! Introduzione ai sistemi informatici

Il concetto di informazione 24/04/2017 Il concetto di informazione Configurazione 1 Configurazione 2 un foglio cosparso di macchie Introduzione ai sistemi informatici

Informazione e supporto 24/04/2017 Informazione e supporto L’informazione è “portata da”, o “trasmessa su”, o “memorizzata in”, o “contenuta in” qualcosa; questo “qualcosa” però non è l’informazione stessa. Ogni supporto ha le sue caratteristiche in quanto mezzo su cui può essere scritta dell’informazione. Introduzione ai sistemi informatici

Informazione e supporti (1) 24/04/2017 Informazione e supporti (1) La stessa informazione può essere scritta su supporti differenti. 10 9 11 8 6 7 10 Introduzione ai sistemi informatici

Informazione e supporti (2) 24/04/2017 Informazione e supporti (2) Lo stesso supporto può portare informazioni differenti. italiano tariffa, prezzo, … inglese to make, to do, to build, … fare italiano asino, cavalletto, somaro, … spagnolo mantequilla, manteca, … burro Introduzione ai sistemi informatici

Informazione e supporto (3) 24/04/2017 Informazione e supporto (3) Distinguere informazione e supporto fisico è distinguere tra “entità logiche” ed “entità fisiche”: l’informazione richiede un supporto fisico, ma non coincide con esso; l’informazione è un’entità extra‑fisica, non interpretabile in termini di materia‑energia e sottoposta alle leggi della fisica solo perché basata su un supporto fisico. L’informazione si può creare e distruggere. Introduzione ai sistemi informatici

24/04/2017 Quali caratteristiche deve avere un sistema fisico per supportare informazioni? Si ottiene informazione quando, dato un insieme di alternative possibili, la lettura del supporto ne elimina alcune e ne seleziona altre. Condizione necessaria perché un supporto possa portare informazione è che possa assumere configurazioni differenti, a ognuna delle quali venga associata una differente entità di informazione. Introduzione ai sistemi informatici

Supporto fisico: 1a condizione 24/04/2017 Supporto fisico: 1a condizione Deve consentire di potere identificare delle differenze Es: voglio rappresentare 2 alternative Cosa rappresenta ciascuna configurazione? Introduzione ai sistemi informatici

Configurazioni e codici 24/04/2017 Configurazioni e codici A ogni configurazione del supporto deve essere associata un’entità di informazione: Prima Configurazione = interruttore “ON” = “Divina Commedia”; Seconda Configurazione = interruttore “OFF” = “I Promessi Sposi”. Per interpretare le differenti configurazioni del supporto in termini di informazione è necessario conoscere il codice (cioè la regola) che a ogni configurazione ammessa del supporto associa un’entità di informazione. La definizione di un codice comporta che siano identificati in modo non ambiguo l’insieme delle possibili configurazioni del supporto e l’insieme delle possibili entità di informazione a cui ci si vuole riferire. Variando il codice è possibile riferirsi a entità di informazione differenti utilizzando uno stesso supporto fisico. Introduzione ai sistemi informatici

Supporto fisico: 2a condizione 24/04/2017 Supporto fisico: 2a condizione Deve essere condivisa una regola per attribuire un significato a ciascuna configurazione Configurazione 1 Entità di informazione 1 Configurazione 2 Entità di informazione 2 CODICE Introduzione ai sistemi informatici

Definire un codice Identificare Associare gli elementi dei 2 insiemi 24/04/2017 Definire un codice Identificare { Configurazioni } { Entità informazione } Associare gli elementi dei 2 insiemi Introduzione ai sistemi informatici

Livelli di informazione: il telegrafo 24/04/2017 Livelli di informazione: il telegrafo Supporto fisico: conduttore in cui transita corrente continua Entità di informazione: “punti” e “linee”, che rappresentano le lettere dell’alfabeto Codice = regola che specifica la corrispondenza: passa corrente per 1 s  punto passa corrente per 2 s  linea non passa corrente per 1 s  separazione tra punti e linee della stessa lettera non passa corrente per 2 s  separazione tra due lettere “passa corrente per 1 s, non passa per 1 s, passa per 2 s” = “punto linea”. Codice Morse = relazione tra lettere e sequenze di punti linee: punto linea  lettera “A” linea punto punto punto  lettera “B” linea punto linea punto  lettera “C” ecc. Abbiamo associato simboli ad altri simboli!! Introduzione ai sistemi informatici

Messaggi vs configurazione del supporto 24/04/2017 Messaggi vs configurazione del supporto Configurazione del supporto fisico (livello fisico, LF): passa corrente per 2s, non passa per 1s, passa per 1s, non passa per 2s, passa per 2s, non passa per 1s, passa per 2s, non passa per 1s, passa per 2s messaggio, al livello logico 1 (LL1): linea punto, separazione di lettera, linea linea linea messaggio, al livello Logico 2 (LL2): “N” “O” messaggio, al livello Logico 3 (LL3): “NO”, con il significato (per esempio) di “incontro non confermato” Le relazioni tra questi livelli definiscono ognuna un codice per interpretare il significato delle entità che compaiono al livello precedente in termini delle entità del livello successivo: sono relazioni di significazione. Introduzione ai sistemi informatici

Tre diversi livelli di informazione 24/04/2017 Tre diversi livelli di informazione Informazione sintattica Informazione semantica Informazione pragmatica Informazione sintattica ci si chiede se un certo supporto fisico è in grado, in base alle configurazioni che può assumere, di costituire la base su cui un certo messaggio può essere scritto; ci si pone un problema di relazioni tra segni, cioè tra configurazioni del supporto fisico. Informazione semantica ci si chiede quale significato sia da attribuire a una certa configurazione del supporto fisico; ci si pone un problema di relazioni tra segni e significati. Informazione pragmatica ci si chiede quale valore sia da attribuire a una certa configurazione del supporto fisico; ci si pone un problema di relazioni tra segni (e significati) e valori. Introduzione ai sistemi informatici

Teoria dell’informazione 24/04/2017 Teoria dell’informazione Quando si parla di “teoria dell’informazione” si fa riferimento al solo livello “sintattico” Ambito di applicazione: caratterizzare le condizioni per la trasmissione di segnali in termini di adeguatezza del supporto adottato per la trasmissione accuratezza della trasmissione stessa. Quali problemi si pone: un certo supporto può essere utilizzato per la memorizzazione di una certa quantità di informazione? con quale velocità una certa quantità di informazione può essere trasferita a distanza mediante un certo supporto? con quale grado di accuratezza un certo messaggio è stato trasmesso? Introduzione ai sistemi informatici

Informazione e incertezza 24/04/2017 Informazione e incertezza La presenza di informazione è condizionata dal fatto che il supporto sia in grado di assumere diverse configurazioni. Se la nostra ignoranza, o più formalmente la nostra incertezza, circa l’effettiva configurazione del supporto viene ridotta dall’accesso al supporto, allora sembra del tutto ragionevole assumere che si possa affermare che tale atto ci ha portato dell’informazione. Se fossimo in grado di misurare il grado di incertezza in cui ci trovavamo prima della lettura e quello successivo a essa, la quantità di informazione portata dalla configurazione che abbiamo letto sul supporto potrebbe essere definita proprio dalla differenza tra tali gradi di incertezza. Introduzione ai sistemi informatici

La codifica dell’informazione 24/04/2017 La codifica dell’informazione Introduzione ai sistemi informatici

Codifica dati e istruzioni 24/04/2017 Codifica dati e istruzioni Algoritmo descrizione della soluzione di problema scritta in modo da poter essere eseguita da un esecutore (eventualmente diverso dall’autore dell’algoritmo) sequenza di istruzioni che operano su dati. Programma algoritmo scritto in modo da poter essere eseguito da un calcolatore (esecutore automatico) Per scrivere un programma è necessario rappresentare istruzioni e dati in un formato tale che l’esecutore automatico sia capace di memorizzare e manipolare. Introduzione ai sistemi informatici

Codifica dati e istruzioni 24/04/2017 Codifica dati e istruzioni Alfabeto dei simboli cifre “0”, “1”, …, “9”, separatore decimale (“,”), separatore delle migliaia (“.”) e segni positivo (“+”) o negativo (“–”). Regole di composizione (sintassi), che definiscono le successioni “ben formate” “1.234,5” è la rappresentazione di un numero; “1,23,45” non lo è. Codice (semantica) “1.234,5” = 1×103 + 2×102 + 3×101 + 4×100 + 5×10–1 “1,23,45” = ?? Lo stesso alfabeto può essere utilizzato con codici diversi: “123,456” = 1×102 + 2×101 + 3×100 + 4×10–1 + 5×10–2 + 6×10–3, [IT] “123,456” = 1×105 + 2×104 + 3×103 + 4×102 + 5×101 + 6×100, [UK] Introduzione ai sistemi informatici

24/04/2017 Codifica Binaria Alfabeto binario: usiamo dispositivi con solo due stati Problema: assegnare un codice univoco a tutti gli oggetti compresi in un insieme predefinito (e.g. studenti) Quanti oggetti posso codificare con k bit: 1 bit  2 stati (0, 1)  2 oggetti (e.g. Vero/Falso) 2 bit  4 stati (00, 01, 10, 11)  4 oggetti 3 bit  8 stati (000, 001, …, 111)  8 oggetti … k bit  2k stati  2k oggetti Quanti bit mi servono per codificare N oggetti: N ≤ 2k  k ≥ log2N  k = log2N (intero superiore) Attenzione: ipotesi implicita che i codici abbiano tutti la stessa lunghezza Introduzione ai sistemi informatici

Esempio di codifica binaria 24/04/2017 Esempio di codifica binaria Problema: assegnare un codice binario univoco a tutti i giorni della settimana Giorni della settimana: N = 7  k ≥ log27  k = 3 Con 3 bit possiamo ottenere 8 diverse configurazioni: Ne servono 7, quali utilizziamo? Quale configurazione associamo a quale giorno? Attenzione: ipotesi che i codici abbiano tutti la stessa lunghezza Introduzione ai sistemi informatici

I giorni della settimana in binario (1) 24/04/2017 I giorni della settimana in binario (1) 1 bit 2 “gruppi” 2 bit 4 “gruppi” 3 bit 8 “gruppi” Introduzione ai sistemi informatici

I giorni della settimana in binario (2) 24/04/2017 I giorni della settimana in binario (2) 1 bit 2 “gruppi” 2 bit 4 “gruppi” 3 bit 8 “gruppi” Introduzione ai sistemi informatici

Codifica binaria dei caratteri 24/04/2017 Codifica binaria dei caratteri Quanti sono gli oggetti compresi nell’insieme? 26 lettere maiuscole + 26 minuscole  52 10 cifre Circa 30 segni d’interpunzione Circa 30 caratteri di controllo (EOF, CR, LF, …) circa 120 oggetti complessivi  k = log2120 = 7 Codice ASCII: utilizza 7 bit e quindi può rappresentare al massimo 27=128 caratteri Con 8 bit (= byte) rappresento 256 caratteri (ASCII esteso) Si stanno diffondendo codici più estesi (e.g. UNICODE) per rappresentare anche i caratteri delle lingue orientali Introduzione ai sistemi informatici

24/04/2017 ASCII su 7 bit 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 010 sp ! " # $ % & ' ( ) * + , - . / 011 1 2 3 4 5 6 7 8 9 : ; < = > ? 100 @ A B C D E F G H I J K L M N O 101 P Q R S T U V W X Y Z [ \ ] ^ _ 110 ` a b c d e f g h j k l m n o 111 p q r s t u v w x z { | } ~ canc Introduzione ai sistemi informatici

bit, Byte, KiloByte, MegaByte, … 24/04/2017 bit, Byte, KiloByte, MegaByte, … bit = solo due stati, “0” oppure “1”. Byte = 8 bit, quindi 28 = 256 stati KiloByte [KB] = 210 Byte = 1024 Byte ~ 103 Byte MegaByte [MB] = 220 Byte = 1'048'576 Byte ~ 106 Byte GigaByte [GB] = 230 Byte ~ 109 Byte TeraByte [TB] = 240 Byte ~ 1012 Byte PetaByte [PB] = 250 Byte ~ 1015 Byte ExaByte [EB] = 260 Byte ~ 1018 Byte Introduzione ai sistemi informatici

Lo standard IEC per i prefissi binari 24/04/2017 Lo standard IEC per i prefissi binari Grandezza Nome Simbolo Dimensione SI Diff. % Kilo binario Kibi Ki 210 1'024 103 2.40% Mega binario Mebi Mi (210)2 1'048'576 (103)2 4.86% Giga binario Gibi Gi (210)3 1'073'741'824 (103)3 7.37% Tera binario Tebi Ti (210)4 1'099'511'627'776 (103)4 9.95% Peta binario Pebi Pi (210)5 1'125'899'906'842'624 (103)5 12.59% Exa binario Exbi Ei (210)6 1'152'921'504'606'846'976 (103)6 15.29% Zetta binario Zebi Zi (210)7 1'180'591'620'717'411'303'424 (103)7 18.06% Yotta binario Yobi Yi (210)8 1'208'925'819'614'629'174'706'176 (103)8 20.89% Usando questi prefissi si può risolvere l’ambiguità capacità di un disco fisso: 120 GB = 111.76 GiB, capacità di un floppy: 1.406 MiB = 1.475 MB Introduzione ai sistemi informatici

La codifica delle istruzioni 24/04/2017 La codifica delle istruzioni Si segue lo schema presentato per i caratteri alfanumerici: quali e quante sono le istruzioni da codificare? qual è la lunghezza delle successioni di bit da utilizzare ? qual è la corrispondenza tra istruzioni e successioni di bit ? Introduzione ai sistemi informatici

Oltre al codice operativo 24/04/2017 Oltre al codice operativo … è necessario far riferimento ai dati necessari per completare l’esecuzione dell’istruzione, e.g. addizione: è necessario che sia specificato (anche implicitamente) dove leggere i due operandi da sommare e dove scrivere il risultato; il numero dei dati da specificare è variabile, in funzione delle istruzioni. Introduzione ai sistemi informatici

Numeri naturali Sistema di numerazione posizionale in base b 24/04/2017 Numeri naturali Sistema di numerazione posizionale in base b ckck–1…c0 rappresenta ck×bk + ck–1×bk–1 + … + c0×b0 b=10  1101dieci indica 1×103 + 1×102 + 0×10 + 1×100 Conversione binario  decimale basta scrivere il numero secondo la notazione posizionale utilizzando già il sistema decimale b=2  1101due indica 1×23 + 1×22 + 0×2 + 1×20 = 13dieci Conversione decimale  binario Si potrebbe utilizzare lo stesso metodo indicato sopra, ma è molto complesso b=10  345dieci indica 11×101010 + 100×10101 + 101×10100 Introduzione ai sistemi informatici

Conversione binario  decimale 24/04/2017 Conversione binario  decimale Introduzione ai sistemi informatici

Conversione decimale  binario 24/04/2017 Conversione decimale  binario Introduzione ai sistemi informatici

Conversione decimale  binario 24/04/2017 Conversione decimale  binario Sistema di numerazione posizionale in base B che, in questo contesto si può ipotizzare diversa da dieci cn–1cn–2…c1c0 = cn–1×Bn–1 + cn–2×Bn–2 + … + c1×B1 + c0×B0 cn–1cn–2…c1c0 = cn–1×Bn–1 + cn–2×Bn–2 + … + c1×B + c0 (infatti B1 = B e B0 = 1) Dividendo il numero per il valore della base, il risultato che si ottiene è: (cn–1×Bn–1 + cn–2×Bn–2 + … + c1×B + c0)/B = = cn–1×Bn–2 + cn–2×Bn–3 + … + c1 + c0/B che può essere scomposto in modo da evidenziare quoziente e resto: quoziente = cn–1×Bn–2 + cn–2×Bn–3 + … + c1 resto = c0 Il resto della divisione corrisponde all’ultima cifra della rappresentazione in base B del numero, ma il suo valore è indipendente dalla base che si utilizza per effettuare i conti. Applicando lo stesso procedimento al quoziente si ottiene la penultima cifra della rappresentazione in base B Ripetendo la procedura è possibile ottenere tutte le altre cifre. Introduzione ai sistemi informatici

Conversione decimale  binario 24/04/2017 Conversione decimale  binario (cifra binaria meno significativa) 573dieci : 2dieci  quoziente 286dieci resto 1dieci 286dieci : 2dieci  quoziente 143dieci resto 0dieci 143dieci : 2dieci  quoziente 71dieci resto 1dieci 71dieci : 2dieci  quoziente 35dieci resto 1dieci 35dieci : 2dieci  quoziente 17dieci resto 1dieci 17dieci : 2dieci  quoziente 8dieci resto 1dieci 8dieci : 2dieci  quoziente 4dieci resto 0dieci 4dieci : 2dieci  quoziente 2dieci resto 0dieci 2dieci : 2dieci  quoziente 1dieci resto 0dieci 1dieci : 2dieci  quoziente 0dieci resto 1dieci 1 000 111 101due = 573dieci (cifra binaria più significativa) Introduzione ai sistemi informatici

Conversione decimale  binario 24/04/2017 Conversione decimale  binario Si calcolano i resti delle divisioni per due 137 : 2 = 68 resto 1 68 : 2 = 34 resto 0 34 : 2 = 17 resto 0 17 : 2 = 8 resto 1 8 : 2 = 4 resto 0 4 : 2 = 2 resto 0 2 : 2 = 1 resto 0 1 : 2 = 0 resto 1 18 : 2 = 9 resto 0 9 : 2 = 4 resto 1 4 : 2 = 2 resto 0 2 : 2 = 1 resto 0 1 : 2 = 0 resto 1 10010 10001001 Introduzione ai sistemi informatici

Operazioni binarie fondamentali 24/04/2017 Operazioni binarie fondamentali Operazioni fondamentali: operazioni elementari sui bit. Sono definite le operazioni aritmetiche più le operazioni logiche (AND, OR, NOT). Le operazioni possono essere descritte in forma tabellare (esempi: +, x, AND, OR) Introduzione ai sistemi informatici

Numeri binari: operazioni 24/04/2017 Numeri binari: operazioni Operazioni di somma di numeri binari naturali. Con gli 8 bit utilizzati negli esempi qui riportati si possono rappresentare i numeri naturali fino a 255dieci. Operazioni che producono un risultato maggiore provocano il superamento della capacità di rappresentazione (indicato in gergo dal termine inglese overflow). Introduzione ai sistemi informatici

Numeri binari: operazioni 24/04/2017 Numeri binari: operazioni Operazioni di moltiplicazione dei numeri binari. Facilitate dal fatto che le moltiplicazioni per una cifra non richiedono calcoli (nx0=0, nx1=n) Le moltiplicazioni a più cifre si effettuano per somme successive (algoritmo manuale) Introduzione ai sistemi informatici

Numeri naturali binari nei calcolatori 24/04/2017 Numeri naturali binari nei calcolatori Per la codifica dei numeri naturali (interi positivi) si utilizzano abitualmente successioni di 32 bit (4 byte) con cui si possono rappresentare i numeri compresi tra 0 e 232–1 = 4'294'967'295 ≈ 4×109. Aumentando la lunghezza delle successioni il massimo numero rappresentabile cresce esponenzialmente: passando da 32 a 64 bit il massimo numero rappresentabile diventa 264–1 ≈ 16×1018 = 1.6×1019. A causa del minor numero di simboli dell’alfabeto binario rispetto a quello decimale, un numero codificato in notazione binaria richiede più cifre rispetto a quelle impiegate in notazione decimale. Introduzione ai sistemi informatici

24/04/2017 Ottali ed esadecimali Utili per rappresentare sinteticamente i valori binari Ottali (base b = 8) Alfabeto ottale: cifre comprese tra 0 e 7 354otto = 3×82 + 5×81 + 4×80 = 192+40+4 = 236dieci 1461otto = 1×83 + 4×82 + 6×81 + 1×80 = 512+256+48+1 = 817dieci Ogni cifra ottale corrisponde a tre cifre binarie: 11101100due = [11] [101] [100] = 354otto 1100110001due = [1] [100] [110] [001] = 1461otto Esadecimali (base b = 16) Alfabeto esadecimale: cifre 0 – 9 + lettere A – F ECsedici = 14×161 + 12×160 = 224 + 12 = 236dieci 331sedic = 3×162 + 3×161 + 1×160 = 768+48+1 = 817dieci Ogni cifra esadecimale corrisponde a quattro cifre binarie: 11101100due = [1110] [1100] = ECsedici 1100110001due = [11] [0011] [0001] = 331sedici Introduzione ai sistemi informatici

Numeri interi Alfabeto binario Modulo e segno 24/04/2017 Numeri interi Alfabeto binario anche il segno è rappresentato da 0 o 1 è indispensabile indicare il numero k di bit utilizzati Modulo e segno 1 bit di segno (0 positivo, 1 negativo) k – 1 bit di modulo Esempio: +6dieci = 0110ms –6dieci = 1110ms si rappresentano i valori da –2k–1+1 a 2k–1–1 con 4 bit i valori vanno da –7 a +7 con 8 bit i valori vanno da –127 a +127 Attenzione: ci sono due rappresentazioni dello 0 con 4 bit sono +0dieci = 0000ms –0dieci = 1000ms Introduzione ai sistemi informatici

Diverse codifiche/interpretazioni 24/04/2017 Diverse codifiche/interpretazioni Codice Nat MS 0000 1000 8 -0 0001 1 1001 9 -1 0010 2 1010 10 -2 0011 3 1011 11 -3 0100 4 1100 12 -4 0101 5 1101 13 -5 0110 6 1110 14 -6 0111 7 1111 15 -7 Introduzione ai sistemi informatici

Numeri interi in complemento a 2 24/04/2017 Numeri interi in complemento a 2 Alfabeto binario anche il segno è rappresentato da 0 o 1 è indispensabile indicare il numero k di bit utilizzati Complemento a 2 X corrisponde al binario naturale di 2k + X +6dieci  24+6 = 22  [1]0110  0110C2 –6dieci  24– 6 = 10  [0]1010  1010C2 si rappresentano i valori da –2k–1 a 2k–1–1 con 4 bit i valori vanno da –8 a +7 con 8 bit i valori vanno da –128 a +127 Con 32 bit i valori vanno da –2'147'483'648 fino a +2'147'483'647 Attenzione: c’è una sola rappresentazione dello 0 con 4 bit è +0dieci = 0000C2 mentre 1000C2 = –8dieci Introduzione ai sistemi informatici

24/04/2017 Il complemento a 2 Metodi alternativi per calcolare la rappresentazione di –X a partire da quella di X Effettuare il complemento di ogni bit di X, poi aggiungere 1 rappresentazione di +6dieci = 0110C2 (NB ci vogliono 4 bit!!) complemento di tutti i bit  1001C2 (corrisponderebbe a -7dieci) aggiungere 1  1010C2 (che corrisponde a -6dieci) Partendo da destra e andando verso sinistra, lasciare invariati tutti i bit fino al primo 1 compreso, complementare tutti gli altri bit. gli ultimi due bit (_ _ 1 0) rimangono invariati gli altri due bit vengono complementati (1 0 1 0C2) Introduzione ai sistemi informatici

Complemento a 2: alcune osservazioni 24/04/2017 Complemento a 2: alcune osservazioni Se si considera la notazione posizionale, si può notare che nella rappresentazione binaria in complemento a due il valore si può ottenere anche associando alla cifra più significativa un peso negativo, mentre tutte le altre cifre mantengono il peso originario positivo. Il valore di un numero cn–1cn–2…c1c0 scritto in complemento a due è – cn–1×2n–1 + cn–2×2n–2 + … + c1×21 + c0×20 Esempi: 0101C2 = – 0×23+1×22+0×21+1×20 = 5dieci, 1011C2 = – 1×23+0×22+1×21+1×20 = –5dieci. Introduzione ai sistemi informatici

Complemento a 2: alcune osservazioni 24/04/2017 Complemento a 2: alcune osservazioni I valori positivi iniziano con 0, quelli negativi con 1 Data la rappresentazione di un numero su k bit, la rappresentazione dello stesso numero su k+1 bit si ottiene aggiungendo (a sinistra) un bit uguale al primo (estensione del “segno”) Rappresentazione di –6 su 4 bit = 1010 Rappresentazione di –6 su 5 bit = 11010 Rappresentazione di –6 su 8 bit = 11111010 la sottrazione si effettua come somma algebrica 4 – 6 = +4 + (–6) = 0100 + 1010 = 1110 = –2 9 – 6 = +9 + (–6) = 01001 + 11010 = [1]00011 = +3 Introduzione ai sistemi informatici

C2: rappresentazioni con diversi #bit 24/04/2017 C2: rappresentazioni con diversi #bit Naturale in base dieci Complemento a due (# bit) 2 3 4 5 8 16 –13 NA 1 0011 1111 0011 1111 1111 1111 0011 –8 1000 1 1000 1111 1000 1111 1111 1111 1000 –7 1001 1 1001 1111 1001 1111 1111 1111 1001 –4 100 1100 1 1100 1111 1100 1111 1111 1111 1100 –1 11 111 1111 1 1111 1111 1111 1111 1111 1111 1111 +1 01 001 0001 0 0001 0000 0001 0000 0000 0000 0001 +4 0100 0 0100 0000 0100 0000 0000 0000 0100 +7 0111 0 0111 0000 0111 0000 0000 0000 0111 +8 0 1000 0000 1000 0000 0000 0000 1000 +13 0 1101 0000 1101 0000 0000 0000 1101 Introduzione ai sistemi informatici

24/04/2017 C2: operazioni Operazioni di somma di numeri binari in complemento a due. Con gli 8 bit utilizzati negli esempi qui riportati si possono rappresentare i numeri interi da –128dieci fino a +127dieci Introduzione ai sistemi informatici

24/04/2017 C2: operazioni Se due operandi dello stesso segno danno un risultato di segno opposto vuol dire che è stata superata la capacità di calcolo (overflow). Introduzione ai sistemi informatici

Diverse codifiche/interpretazioni 24/04/2017 Diverse codifiche/interpretazioni Dieci Due MS C2 +0 0000 –0 1000 +1 0001 –1 NA 1001 1111 +2 0010 –2 1010 1110 +3 0011 –3 1011 1101 +4 0100 –4 1100 +5 0101 –5 +6 0110 –6 +7 0111 –7 +8 –8 Introduzione ai sistemi informatici

Diverse codifiche/interpretazioni 24/04/2017 Diverse codifiche/interpretazioni Codice Nat MS C2 0000 1000 8 -0 -8 0001 1 1001 9 -1 -7 0010 2 1010 10 -2 -6 0011 3 1011 11 -3 -5 0100 4 1100 12 -4 0101 5 1101 13 0110 6 1110 14 0111 7 1111 15 Introduzione ai sistemi informatici

24/04/2017 Numeri razionali Cifre più significative: sono le cifre associate ai pesi maggiori per i numeri maggiori di 1, le cifre più significative sono quelle poste più a sinistra, per esempio, nel numero 723'456, la cifra più significativa è 7, associata al peso 105, seguita da 2, con peso 104, e così via; nel caso di numeri minori di 1, che iniziano con 0 seguito dal separatore decimale, le cifre più significative sono le prime diverse da 0 che si incontrano andando da sinistra verso destra, per esempio, nel numero 0.0072345 la cifra più significativa è 7, con peso 10–3, seguita da 2, con peso 10–4, e così via. Quando i numeri hanno un valore molto grande o molto piccolo, si considerano solo le cifre più significative, adottando una rappresentazione che viene indicata come notazione scientifica: un numero in base B viene rappresentato come ±0.m×Be, segno (+ oppure –), coefficiente m, detto mantissa, che è la parte frazionaria compresa tra 0 e 1 esponente e a cui elevare la base della numerazione, che è un intero ( 0) Esempi: -123'450'000'000 diventa –0.12345×1012, con segno negativo, mantissa 12345, ed esponente 12; +0.0000012345, corrisponde a 0.12345×105, con segno positivo, mantissa 12345 ed esponente –5. Introduzione ai sistemi informatici

Rappresentazione binaria 24/04/2017 Rappresentazione binaria Per esempio +101010000 diventa +0.10101×1001001, segno positivo; mantissa 10101 (si noti che la mantissa inizia sempre con 1); esponente è 01001C2 (si noti come l’esponente sia un numero intero e per questo sia necessario adottare una rappresentazione che permetta la codifica anche di valori negativi, come, per esempio, quella in complemento a due). Standard IEEE-754 (Institute of Electrical and Electronic Engineers): precisione doppia: 64 bit precisione singola: 32 bit Introduzione ai sistemi informatici

24/04/2017 Analogico vs digitale Introduzione ai sistemi informatici

Informazione “classificatoria” e più che “classificatoria” 24/04/2017 Informazione “classificatoria” e più che “classificatoria” Informazione classificatoria: “è questo, ma avrebbe potuto essere quest’altro”. Informazione più che classificatoria: riconoscere distinzioni; stabilire una relazione d’ordine (“questo è maggiore di quest’altro”); stabilire una metrica (“questo è distante un certo valore da quest’altro”). L’insieme delle entità di informazione ha una struttura. La struttura dice “cosa si può fare” con le entità di informazione dell’insieme, in termini di operazioni di combinazione e di confronto. Si tratta di informazione su informazione (meta-informazione) in presenza della quale l’insieme delle entità di informazione diventa un sistema, cioè appunto un “insieme con struttura”. Introduzione ai sistemi informatici

Due alternative Meta-informazione esplicita nel supporto: 24/04/2017 Due alternative Meta-informazione esplicita nel supporto: il supporto ha una struttura corrispondente a quella presente tra entità di informazione. Meta-informazione implicita nella regola di codifica: al supporto si richiede solo di avere configurazioni molteplici e distinguibili l’una dall’altra, la meta-informazione è definita in modo estensionale nella regola di codifica. Cosa succede nei due casi se si aggiungono i “mezzi punti”? Introduzione ai sistemi informatici

Analogico e digitale Meta-informazione esplicita nel supporto 24/04/2017 Analogico e digitale Meta-informazione esplicita nel supporto Codifica ANALOGICA Meta-informazione implicita nella codifica Codifica DIGITALE Introduzione ai sistemi informatici

Analogico vs digitale Analogico Digitale Definizione della codifica 24/04/2017 Analogico vs digitale Analogico Digitale Definizione della codifica Intensionale Estensionale Ridefinizione codifica vs variazione entità informazione Nessuna ridefinizione Estendere il processo definito in precedenza Applicabilità vs cardinalità entità informazione OK anche per cardinalità non finita Solo per cardinalità finita e con entità note a priori Applicabilità vs struttura entità informazione Solo se c’è una struttura OK in ogni caso Condizioni sul supporto Solo se il supporto ha una struttura OK in ogni caso Introduzione ai sistemi informatici

Da analogico a digitale: 1. la quantizzazione 24/04/2017 Ampiezza della grandezza fisica Codifiche assegnate ai valori scelti per rappresentare gli insiemi 000 001 011 010 110 111 101 100 101 111 100 110 010 001 Valori rappresentativi dei diversi insiemi Demarcazione degli insiemi individuati Introduzione ai sistemi informatici

Da analogico a digitale: 2. il campionamento 24/04/2017 Da analogico a digitale: 2. il campionamento La grandezza varia nel tempo e non può essere rappresentata da un solo valore. I valori di riferimento debbono essere rilevati in diversi istanti di tempo (frequenza di campionamento). La quantizzazione deve poi essere ripetuta per ogni valore campionato. Ampiezza della grandezza fisica Tempo Introduzione ai sistemi informatici

Campionamento e quantizzazione 24/04/2017 Campionamento e quantizzazione Ampiezza della grandezza fisica Tempo Valori rappresentativi Introduzione ai sistemi informatici

Campionamento e quantizzazione 24/04/2017 Campionamento e quantizzazione Introduzione ai sistemi informatici

24/04/2017 Ricostruzione Introduzione ai sistemi informatici

Quantizzazione su più livelli 24/04/2017 Quantizzazione su più livelli Introduzione ai sistemi informatici

Suono digitale Formato standard per i CD audio 24/04/2017 Suono digitale Formato standard per i CD audio frequenza di campionamento di 44'100 Hz quantizzazione su 65'536 livelli (un campione viene codificato su 16 bit) Un secondo di musica stereo richiede 44'100 campioni di 16 bit (2 byte) ciascuno per due canali, quindi 176'400 byte. L’errore che si commette nella ricostruzione del segnale sonoro è difficilmente rilevabile da parte di un orecchio umano. Introduzione ai sistemi informatici

24/04/2017 Foto digitali Per la codifica digitale delle immagini le operazioni di campionamento e quantizzazione si applicano nello spazio invece che nel tempo. Il campionamento consiste nel dividere l’immagine in sottoinsiemi (pixel, cioè picture element), per ognuno dei quali si dovrà prelevare un campione che si considera rappresentativo del colore di tutto il sottoinsieme. La quantizzazione è la codifica del colore associato a ogni pixel: i più recenti formati utilizzano 32 bit (4 byte) per pixel: 8 bit per ognuna delle tre componenti fondamentali (RGB: red, green, blue) e altri 8 per gestire le trasparenze. Memoria necessaria per immagini non compresse (bitmap) per un’immagine di 640480 pixel servono 1'228'800 byte; per un’immagine di 800600 pixel servono 1'920'000 byte; per un’immagine di 1024768 pixel servono 3'145'728 byte; per un’immagine di 12801024 pixel servono 5'242'880 byte; per un’immagine di 16001200 pixel servono 7'680'000 byte; … Introduzione ai sistemi informatici

Il successo del digitale 24/04/2017 Il successo del digitale Rumore: effetto dell’ambiente sul supporto. Quanto un supporto è “immune” al rumore? Codifica analogica: ogni configurazione è lecita dal punto di vista informazionale e quindi risulta impossibile distinguere il rumore dal segnale. Codifica digitale: un valore binario è associato a un insieme di configurazioni valide quindi si può riconoscere il rumore che porta in configurazioni non lecite trascurare il rumore che non fa uscire il segnale dall’insieme associato alla stessa configurazione Tensione (V) 0 binario 1 2 3 4 5 1 binario Non lecito Introduzione ai sistemi informatici

Come ridurre il numero di bit 24/04/2017 Come ridurre il numero di bit Esempio successione di un milione di caratteri, ognuno scelto dall’insieme {A, C, G, T}; la frequenza dei quattro caratteri all’interno della successione non è uguale: A si presenta nel 50% dei casi, C nel 25%, G e T solo nel 12.5% dei casi. Codifica digitale a lunghezza costante due bit per ciascuno dei simboli, per esempio: A = 00, C = 01, G = 10 e T = 11; la lunghezza complessiva della successione è quindi pari a 2 milioni di bit. Codifica a lunghezza variabile (che tenga conto della distribuzione) A = 0, C = 10, G = 110 e T = 111; la lunghezza complessiva della successione è di 1.75 milioni di bit (1×50% + 2×25% + 3×12.5% + 3×12.5%) bit/carattere × 1 milione di caratteri Il cambiamento di codifica permette di ridurre il numero di bit utilizzato senza perdere informazione. Introduzione ai sistemi informatici

La compressione dei dati 24/04/2017 La compressione dei dati Gli algoritmi di compressione dei dati possono essere distinti in due categorie fondamentali Compressione lossless, se non provoca la perdita di informazione Compressione lossy, se provoca la perdita di informazione Gli algoritmi di compressione lossless sfruttano le regolarità nei dati RLE (Run Length Encoding): successioni di n simboli uguali vengono rappresentati con una coppia <simbolo, n> Tecniche basate su dizionario: sequenze di simboli ripetute trovate analizzando i dati sono sostituite con simboli elementari memorizzando le corrispondenze in un dizionario Gli algoritmi di compressione lossy sono specifici per i diversi domini applicativi. Gli algoritmi di compressione lossy sono specifici per i diversi domini applicativi: per le immagini si sfrutta il fatto che per l’occhio umano lievi cambiamenti di colore in punti contigui sono poco visibili e quindi possono essere eliminati (su questo principio si basano, per esempio, i formati GIF e JPEG); per le animazioni e i video si sfrutta il fatto che immagini successive hanno spesso molte parti uguali e quindi di ogni immagine possono essere memorizzate solo le differenze con l’immagine precedente (come fanno, per esempio, vari standard MPEG); per i file audio, si sfrutta il fatto che per l’orecchio umano suoni a basso volume sovrapposti ad altri di volume maggiore sono poco udibili e quindi possono essere eliminati (come succede nel caso del formato MPEG 1 Layer 3, noto come MP3). Introduzione ai sistemi informatici

Un semplice esempio con dizionario 24/04/2017 Un semplice esempio con dizionario Compressione lossless con tecnica basata su un dizionario Testo di esempio: “I re di Francia della dinastia Carolingia sono: Carlo II, Luigi II di Francia, Luigi III di Francia, Carlomanno di Francia, Carlo III detto il grosso, Odo, Carlo III detto il semplice, Roberto I di Francia, Rodolfo Duca di Borgogna, Luigi IV di Francia, Lotario di Francia, Luigi V di Francia” (lunghezza: 292 caratteri) Analisi delle regolarità presenti nel testo: Si individuano le sequenze ripetute (parole) contando le ripetizioni e si compila il dizionario (vedere tabella) Si assegna un simbolo che la sostituisce ad ogni parola Il testo diventa: “I re 1 2 della 1nastia Carolingia sono: 5 3, 4 3 1 2, 4 3I 1 2, 5manno 1 2, 5 3I 6 7 grosso, Odo, 5 3I 6 7 semplice, Roberto I 1 2, Rodolfo Duca 1 Borgogna, 4 IV 1 2, Lotario 1 2, 4 V 1 2” (lunghezza: 187 caratteri + 35 caratteri per il dizionario = 222 caratteri - 76% della lunghezza originaria) Un testo più lungo permette una efficienza maggiore! Indice Parola N 1 di 10 2 Francia 8 3 II 5 4 Luigi Carlo 6 detto 7 il Gli algoritmi di compressione lossy sono specifici per i diversi domini applicativi: per le immagini si sfrutta il fatto che per l’occhio umano lievi cambiamenti di colore in punti contigui sono poco visibili e quindi possono essere eliminati (su questo principio si basano, per esempio, i formati GIF e JPEG); per le animazioni e i video si sfrutta il fatto che immagini successive hanno spesso molte parti uguali e quindi di ogni immagine possono essere memorizzate solo le differenze con l’immagine precedente (come fanno, per esempio, vari standard MPEG); per i file audio, si sfrutta il fatto che per l’orecchio umano suoni a basso volume sovrapposti ad altri di volume maggiore sono poco udibili e quindi possono essere eliminati (come succede nel caso del formato MPEG 1 Layer 3, noto come MP3). Introduzione ai sistemi informatici