Rappresentazione dei dati e codifica delle informazioni 27/03/2017 Rappresentazione dei dati e codifica delle informazioni Seconda parte
Posizionale pesato In generale, per rappresentare dei numeri, posso procedere come fin qui esposto: per codificare un sottoinsieme di numeri di cardinalità N uso una stringa di m simboli di un insieme K, scegliendo arbitrariamente la sequenza dei simboli Una scelta indicata è il sistema di numerazione posizionale.
Posizionale pesato Ogni simbolo dell’insieme K ha un peso che è funzione della sua posizione all’interno della rappresentazione. Esempio: Posso rappresentare il numero duemilatrecentoventisette come: 2327 = 2*103 +3*102 +2*101 +7*100 Il simbolo “2” ha un peso diverso a seconda della sua posizione.
Rappresentazione posizionale dei numeri 27/03/2017 Rappresentazione posizionale dei numeri Numeri e rappresentazione dei numeri: quindici 15 XV 11112 Rappresentazione posizionale: base di rappresentazione (es. 10), si usano 10 simboli (cifre) che rappresentano i numeri da 0 a 9 15 = 1 101 + 5 100 Il numero viene rappresentato dalla lista di cifre Particolare natura della funzione c Concetto di numero, di cifra e di rappresentazione conversione da numero a rappresentazione binaria per divisioni successive least significant bit (LSB) e most significant bit (MSB) principali potenze di 2 Esercizi sul numero di bit, sulle potenze di 2 Operazioni aritmetiche in base 2 (addizione, sottrazione, moltiplicazione, … ) Moltiplicazione e divisione per potenze di 2 Base 8 e base 16
Rappresentazione posizionale dei numeri 27/03/2017 Rappresentazione posizionale dei numeri Base di rappresentazione (b) Si usano b cifre (simboli associati ai numeri da 0 a b -1) n = am bm + am-1 bm -1 + + a1 b1 + a0 b0 = i ai bi Rappresentazione: ( am , am -1 , , a1 , a0 ) In queste ipotesi la rappresentazione è unica Particolare natura della funzione c Concetto di numero, di cifra e di rappresentazione conversione da numero a rappresentazione binaria per divisioni successive least significant bit (LSB) e most significant bit (MSB) principali potenze di 2 Esercizi sul numero di bit, sulle potenze di 2 Operazioni aritmetiche in base 2 (addizione, sottrazione, moltiplicazione, … ) Moltiplicazione e divisione per potenze di 2 Base 8 e base 16
Base binaria B=2; cifre = { 0 , 1 } rappresentazione di quindici: 1111 15 = 8 + 4 + 2 + 1 rappresentazione di duecentododici: 11010100 212 = 128 + 64 + 16 + 4
Conversione da rappresentazione a numero Da base 2: 110101002 0 20 + 0 21 + 1 22 + 0 23 + 1 24 + 0 25 + 1 26 + 1 27 =21210
Conversioni da numero a rappresentazione In base 2: divisioni successive per 2 fino a un quoto uguale a 0 i resti (dall’ultimo al primo) danno la sequenza di cifre
Base esadecimale b = 16, cifre = {0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F } 212 : 16 = 13 col resto di 4 21210 = D416 notazioni pratiche: D4H, 0xD4 La codifica in binario delle 16 cifre esadecimali richiede 4 bit Conversione esadecimale-binario: 110101002 1101 0100 D416 rappresentazione in base 2 di 13 su 4 bit rappresentazione in base 2 di 4 su 4 bit
Base ottale b = 8, cifre = { 0,1,2,3,4,5,6,7} La codifica in binario delle 8 cifre ottali richiede 3 bit Conversione ottale-binario: 110101002 011 010 100 3248 21210 = 3248 rappresentazione in base 2 di 4 su 3 bit rappresentazione in base 2 di 3 su 3 bit rappresentazione in base 2 di 2 su 3 bit
Base decimale: Sistemi BCD Per b=10 si ha la tradizionale numerazione decimale (Binary Coded Decimal) Per rappresentare le cifre in bit occorrono almeno 4 bit (23<10<24) Con la numerazione decimale, un numero è rappresentato in cifre e ciascuna cifra è codificata in bit.
Rappresentazione dei caratteri 27/03/2017 Rappresentazione dei caratteri Codice ASCII (American Standard Code for Information Interchange) Rappresentazione su 7 bit: 128 combinazioni da 0 a 31: “caratteri” di controllo da 32 a 47: interpunzione e caratteri speciali da 48 a 57: cifre decimali da 58 a 64: interpunzione e caratteri speciali da 65 a 90: lettere maiuscole dell’alfabeto inglese da 91 a 96: interpunzione e caratteri speciali da 97 a 122: lettere minuscole dell’alfabeto inglese da 123 a 127: caratteri speciali Illustrare la tabella completa Illustrare I valori decimali ed esadecimali Conversione cifre numeri Ordinamento alfabetico Lo standard UNICODE: www.unicode.org UNICODE: codifica 16 bit, meccanismo di estensione (UTF-16), 6400 codici riservati per uso privato, UTF-8 (codifica a lunghezza variabile compatibile con ASCII), accenti (non-spacing marks) e caratteri precomposti Codici “packed”
Rappresentazione dei caratteri 27/03/2017 Rappresentazione dei caratteri Relazioni tra caratteri e numeri le stringhe di bit non hanno significato di per se: a ogni carattere corrisponde un numero da 0 a 255 Ordinamento dei caratteri: rispettato l’ordinamento relativo tra: cifre, maiuscole, minuscole spazio < cifre < maiuscole < minuscole Illustrare la tabella completa Illustrare I valori decimali ed esadecimali Conversione cifre numeri Ordinamento alfabetico Lo standard UNICODE: www.unicode.org UNICODE: codifica 16 bit, meccanismo di estensione (UTF-16), 6400 codici riservati per uso privato, UTF-8 (codifica a lunghezza variabile compatibile con ASCII), accenti (non-spacing marks) e caratteri precomposti Codici “packed”
Estensioni del codice ASCII Codice ASCII esteso i caratteri da 128 a 255 rappresentano vari caratteri speciali, simboli matematici e lettere non appartenenti all’alfabeto inglese Lo standard UNICODE rappresentazione su 16 bit compatibile con il codice ASCII meccanismi di estensione per superare il limite di 65536
Rilevazione e correzione degli errori 27/03/2017 Rilevazione e correzione degli errori Natura degli errori Codici ridondanti Rilevazione e correzione degli errori Bit di parità: si aggiunge un bit in modo che il numero di 1 sia pari: 00101101 00101101 0 01101000 01101000 1 L’errore su un bit viene rilevato (non corretto) 011010001 011000001 Gli errori producono un interpretazione errata di uno o più bit Esempi di codici ridondanti che rilevano errori Esempi di codici che permettono la correzione CRC e altri metodi