Codifica dei Dati Idea: vogliamo rappresentare dati eterogenei utilizzando un linguaggio che l’elaboratore puo’ facilmente manipolare Essenzialmente vogliamo.

Slides:



Advertisements
Presentazioni simili
Dall’informazione al linguaggio macchina
Advertisements

Rappresentazioni numeriche
Sistemi di numerazione
Informatica Generale Susanna Pelagatti
Fondamenti di Informatica
Sistemi di numerazione
Rappresentazione di Numeri Reali
Massimo Sartori, MSc (PhD Student)
Rappresentazioni dei numeri non interi A. Ferrari.
Rappresentazioni numeriche
Trasmissione delle informazioni
Sistemi di numerazione e codici
Fondamenti di Informatica I Facoltà di Ingegneria Informatica Esercitazione.
1 © 1999 Roberto Bisiani Rappresentazione delle informazioni n Occorre un codice n Legato alla tecnologia usata Robustezza Semplicita Economicita.
Esercitazioni su rappresentazione dei numeri e aritmetica
Rappresentazione dei numeri razionali
Università degli Studi di Bergamo Facoltà di Lingue e Letterature Straniere Facoltà di Lettere e Filosofia A.A Informatica generale 1 Appunti.
Informatica 3 Codifica binaria.
A.S.E.13.1 ARCHITETTURA DEI SISTEMI ELETTRONICI LEZIONE N° 13 Somma e differenza di due numeri in C2Somma e differenza di due numeri in C2 Half AdderHalf.
A.S.E.6.1 ARCHITETTURA DEI SISTEMI ELETTRONICI LEZIONE N° 6 Complemento a MComplemento a M Rappresentazione di numeri con segnoRappresentazione di numeri.
A.S.E.5.1 ARCHITETTURA DEI SISTEMI ELETTRONICI LEZIONE N° 5 Rappresentazione di numeri con segnoRappresentazione di numeri con segno –Modulo e segno (MS)
Sistemi di Numerazione
Corso di Informatica (Programmazione)
1 Corso di Laurea in Biotecnologie Informatica (Programmazione) Rappresentazione dellinformazione su calcolatore Anno Accademico 2009/2010.
Corso di Informatica (Programmazione)
Settembre 2002IFTS2002 Acq. Dati Remoti: INFORMATICA 1 Rappresentazione dellinformazione (1)
Corso di Informatica per Giurisprudenza
Rappresentazione dei dati
Esistono 10 tipi di persone al mondo: Quelli che conoscono il codice binario & Quelli che non lo conoscono.
Rappresentazioni numeriche
Rappresentazione binaria dei numeri interi senza segno.
Rappresentazione dei numeri reali
Codifiche Interne Codifiche Interne
1 Sistemi Digitali. 2 Definizione Analog Waveform Time Voltage (V) 0 5 Digital Waveform Time Voltage (V)
Rappresentazioni numeriche. Introduzione Un calcolatore elettronico dispone di uno spazio finito per memorizzare le cifre che esprimono un valore numerico.
4) Rappresentazione dei dati in memoria
Il sistema binario.
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.
Usare rappresentazioni di lunghezza fissa porta ad avere valori non rappresentabili: Overflow indica un errore nella rappresentazione del risultato in.
Conversione binario - ottale/esadecimale
Conversione binario - ottale/esadecimale
Rappresentazione di Numeri Reali
1 © 1999 Roberto Bisiani Rappresentazione delle informazioni n Occorre un codice n Legato alla tecnologia usata Robustezza Semplicita Economicita.
RAPPRESENTAZIONE DELL’INFORMAZIONE
Rappresentazione dell’informazione
Corso di Laurea in Biotecnologie corso di Informatica Paolo Mereghetti DISCo – Dipartimento di Informatica, Sistemistica e Comunicazione.
ARITMETICA BINARIA.
Programma del corso Introduzione agli algoritmi Rappresentazione delle Informazioni Architettura del calcolatore Reti di Calcolatori (Reti Locali, Internet)
RAPPRESENTAZIONE DELL'INFORMAZIONE
Dalle potenze ai numeri binari
Che cos’è un sistema di numerazione?
La rappresentazione delle informazioni in un computer Seconda parte.
Process synchronization
Rappresentazione dell’Informazione
Rappresentazione dell’informazione nel calcolatore.
Rappresentazione della Informazione
Rappresentazioni a lunghezza fissa: problemi
Fondamenti di Informatica
1 © 1999 Roberto Bisiani Overflow n Overflow  traboccamento Si verifica se il risultato di un’operazione non puo’ essere rappresentato con il numero di.
Rappresentazione dell'informazione
La codifica dei numeri.
Conversione binario-ottale/esadecimale
Rappresentazione degli interi
Rappresentazione dei numeri
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Numeri in virgola Marco D. Santambrogio – Ver. aggiornata al 24 Agosto 2015.
I sistemi di numerazione
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Numeri con segno ed in virgola Marco D. Santambrogio – Ver. aggiornata al 20 Marzo.
© 2015 Giorgio Porcu - Aggiornamennto 09/12/2015 I STITUTO T ECNICO SECONDO BIENNIO T ECNOLOGIE E P ROGETTAZIONE Rappresentazione dell’ Informazione Conversioni.
Transcript della presentazione:

Codifica dei Dati Idea: vogliamo rappresentare dati eterogenei utilizzando un linguaggio che l’elaboratore puo’ facilmente manipolare Essenzialmente vogliamo costruire una codifica tra linguaggi Utilizzamo codifica binaria per le seguenti ragioni un alfabeto con due soli simboli corrisponde al linguaggio di una macchina basata su circuiti elettronici riduce l’errore nella rappresentazione dell’informazione Il numero di simboli per rappresentare numeri cresce in modo logaritmico con il numero: per rappresentare N occorrono in fatti simboli

Vari tipi di codifiche La rappresentazione usuale dei numeri e’ quella posizionale decimale dove si utilizzano 10 caratteri Alfabeto: 0…9 Si ragiona in base 10. Es. 19= 1*10+9*(10**0) Operazioni aritmetiche: Le tabelline delle elementari…(riporto ecc)

Altre possibili rappresentazioni: Unaria: una barretta per unita’ Ad es: IIIIIIIIIIIIII rappresenta 15!!! Numeri Romani con multipli di 5: Alfabeto: I V X L C D (500) M (1000) Si minimizza numero di simboli ad es: I II III IV V …. XL (40) …. MCCLXXI (1271)…. Problema con numeri > 4000: Ad es. MMMMMMMMMMMM… Operazioni? Abaco!!

Codifica in base N La generalizzazione della codifica decimale consiste nell’utilizzare un alfabeto con N cifre e ragionare quindi su base N Binaria: 2 cifre, potenze di 2 Ottale: 8 cifre, potenze di 8 Esadecimale: 16 cifre, potenze di 16 Base N: N cifre, potenze di N Numero di cifre per rappresentare un numero

Da numero a codifica Dato M la sua codifica posizionale in base N si estrae utilizzando la divisione con resto come segue M = A1*N +B1 A1= A2*N + B2 …. Ak-1=Ak*N + Bk Cod(M,N) = Ak Bk … B1

Esempio Base 2: Base 8: Cod(13,2) = 1 1 0 1 = 1*8+1*4+1 13 : 2 = 6 con resto 1 6 : 2 = 3 con resto 0 3 : 2 = 1 con resto 1 Base 8: Cod(13,8) = 1 5 = 1*8 + 5*1 13 : 8 = 1 con resto 5

Esempio di cambio di base Per passare dalla base 2 alla base 8: raggruppo gruppi di 3 bit! Per passare dalla base 8 alla base 2: Espando cifre in gruppi di tre bit Esempio: 001 101 (binario) 1 5 (ottale)

Codifica degli interi La codifica in binario dei numeri naturali permette di utilizzare operazioni bit-a-bit per implementare operazioni aritmetiche quali la somma e la moltiplicazione 0 1 1 0 1 + 0 1 0 0 1 = 1 0 1 1 0 Vorremmo ottenere la stessa cosa nel caso di numeri interi! Bit di segno Complemento a 1 e complemento a 2

Bit di segno Bit di segno: fissiamo il numero di cifre il primo bit a sinistra identifica il segno Su un byte (8 bit): 00000001 = 1 10000001 = -1 Algoritmo per la somma? Occorre una analisi dei possibili casi a seconda del segno degli operandi non si riduce in modo semplice ad operazioni bit-a-bit, peccato!

Complemento a 1 Su K bit Somma bit a bit? Funziona quasi sempre il primo a sinistra identifica il segno il valore assoluto viene rappresentato invertito dopo aver negato i singoli bit Es. 00000010 = 2 mentre 11111101 = -2 Somma bit a bit? Funziona quasi sempre Se operandi hanno segno negativo si ottiene il risultato decrementato di 1! (Es. –12 invece di –11) Nota: zero ha due rappresentazioni: 00000000 e 11111111! 00110+ (+6) 10101= (-5) 11011 (-4) 11001+ (-6) 11010= (-5) 10011 (-12)

Complemento a 2 Su K bit 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 00000010 = 2 11111110 = 11111101+1= -2

Operazioni per rapp. in complemento a 2 Somma bit a bit? Funziona sempre Nota: zero ha una sola rappresentazione: 00000000 11010+ (-6) dove 6=0110  1001 + 1 = 1010 11011= (-5) dove 5=0101  1010 + 1 = 1011 10101 (-11) dove11=1011  0100+1 = 0101

Rappresentazione per eccesso a 2**(N-1) Un’altra possibile rappresentazione di numeri interi consiste nel suddividere il range di valori rappresentabili su N bit in numeri positivi e numeri negativi: (**=elevamento a potenza) Le codifiche da 0 a (2**N-1)-1 rappresentano i numeri negativi da –(2**(N-1)) a –1 2**(N-1) rappresenta lo zero Le rimanenti codifiche rappresentano: i numeri positivi da +1 a +(2**(N-1))-1

Codifica e decodifica Codifica di M: Decodifica M: Cod(M+2**(N-1),2) M=Cod(N,2) Dec(M)=N-2**(N-1)

Esempio Per N=3 il range di valori –4…0…3 Codifica/decodifica 000 rappresenta –4 001 rappresenta –3 …. 010 rappresenta 0 … 111 rappresenta 3 Codifica/decodifica -3 = Cod(-3+4,2)=Cod(1,2)=001 3 = Cod(3+4,2)=Cod(7,2)=111 111=Cod(7,2) e quindi Dec(111)=7-4=3

Numeri Razionali Utilizzando opportune convenzioni possiamo pensare di rappresentare non solo interi ma anche razionali Virgola fissa: si fissa il numero di cifre della parte decimale Virgola mobile: si rappresentano esponente e mantissa (Virgola= notazione all’inglese!)

Virgola fissa Fissiamo quante cifre intere e quante decimali vogliamo rappresentare ed utilizziamo potenze di 2 sia positive che negative! Ad esempio: se la cifra piu’ a destra rappresenta ½ (=2**-1): 10001 rappresenta 8.5 = 8 + ½ cioe’ va letto come: 1000.1 !! Si rappresentano solo valori divisibili per potenze negative di 2 (occorre approssimare gli altri valori)

Virgola Mobile Se vogliamo rappresentare sia numeri molto piccoli che numeri molto grandi occorre utilizzare una rappresentazione in cui la virgola decimale varia a seconda del numero Si usa una rappresentazione del tipo: Valore= 2**(+/- Esponente)+Mantissa La mantissa viene normalizzata per ottenere una rappresentazione unica (varia tra 1 e ½). Cioe’ dobbiamo memorizzare su K bit le informazioni su: Segno Esponente Mantissa

Standard IEEE Precisione singola su 32 bit Precisione doppia su 64 bit 1 bit di segno 8 di esponente (da -126 a +127) 23 di mantissa Si possono rappresentare valori fino a 2**(-150) Precisione doppia su 64 bit 11 di esponente (da -1022 a +1023) 52 di mantissa Si possono rappresentare valori fino a 2**(-1075)