dipartimento di elettronica e informazione codifica binaria dellinformazione marco d. santambrogio...

49
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Codifica binaria Codifica binaria dell dell informazione informazione Marco D. Santambrogio – [email protected] Ver. aggiornata al 29 Ottobre 2013

Upload: angelo-rosa

Post on 02-May-2015

221 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Codifica binaria dellinformazione Marco D. Santambrogio – marco.santambrogio@polimi.it Ver. aggiornata al 29

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE

Codifica binaria Codifica binaria delldell’’informazioneinformazione

Marco D. Santambrogio – [email protected]. aggiornata al 29 Ottobre 2013

Page 2: DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Codifica binaria dellinformazione Marco D. Santambrogio – marco.santambrogio@polimi.it Ver. aggiornata al 29

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE

Info di servizioInfo di servizio

• Doodle su demo 1mo compitinohttp://tinyurl.com/infob1314-demo1mo

• Correzione demohttp://tinyurl.com/infob1314-

cdemo1mo

2

Page 3: DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Codifica binaria dellinformazione Marco D. Santambrogio – marco.santambrogio@polimi.it Ver. aggiornata al 29

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE

Un obiettivo per domarli Un obiettivo per domarli tutti…tutti…

3

Page 4: DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Codifica binaria dellinformazione Marco D. Santambrogio – marco.santambrogio@polimi.it Ver. aggiornata al 29

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE

Uno dei problemi…Uno dei problemi…

4

Page 5: DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Codifica binaria dellinformazione Marco D. Santambrogio – marco.santambrogio@polimi.it Ver. aggiornata al 29

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE

ObiettiviObiettivi

• Rappresentazione dell’informazione

• Da decimale a binario Contiamo con i numeri binari

• Limiti della rappresentazione• Complemento a due

5

Page 6: DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Codifica binaria dellinformazione Marco D. Santambrogio – marco.santambrogio@polimi.it Ver. aggiornata al 29

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE

Codifica binariaCodifica binaria

6

Claude Shannon nel 1948 nel paper:“A Mathematical Theory of Communication”

Chi ha “inventato” il bit?

Page 7: DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Codifica binaria dellinformazione Marco D. Santambrogio – marco.santambrogio@polimi.it Ver. aggiornata al 29

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE

Codifica binariaCodifica binaria

• Alfabeto binarioAlfabeto binario: usiamo dispositivi con solo due stati: usiamo dispositivi con solo due stati• ProblemaProblema: assegnare un codice univoco a tutti gli oggetti : assegnare un codice univoco a tutti gli oggetti

compresi in un insieme predefinito (e.g. studenti)compresi in un insieme predefinito (e.g. studenti)

• QuantiQuanti oggettioggetti posso codificare con k bit: 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 k bit 2 2kk stati stati 2 2kk oggetti oggetti

• Quanti bit Quanti bit mi servono per codificare N oggetti:mi servono per codificare N oggetti: N ≤ 2k k ≥ log2N k = k = loglog22NN (intero superiore)

• AttenzioneAttenzione::ipotesi implicita che i codici abbiano tutti la stessa ipotesi implicita che i codici abbiano tutti la stessa lunghezzalunghezza

7

Page 8: DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Codifica binaria dellinformazione Marco D. Santambrogio – marco.santambrogio@polimi.it Ver. aggiornata al 29

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE

• ProblemaProblema: assegnare un codice binario : assegnare un codice binario univoco a tutti i giorni della settimanaunivoco a tutti i giorni della settimana

• Giorni della settimana: Giorni della settimana: N = 7 N = 7 k ≥ log k ≥ log227 7 k = 3 k = 3

• Con 3 bit possiamo ottenere 8 diverse Con 3 bit possiamo ottenere 8 diverse configurazioni:configurazioni: Ne servono 7, quali utilizziamo? Quale configurazione associamo a quale

giorno?

• Attenzione: ipotesi che i codici abbiano Attenzione: ipotesi che i codici abbiano tutti la stessa lunghezzatutti la stessa lunghezza

8

Page 9: DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Codifica binaria dellinformazione Marco D. Santambrogio – marco.santambrogio@polimi.it Ver. aggiornata al 29

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE

3 bit8 “gruppi”

2 bit4 “gruppi”

Lunedì

Martedì

Mercoledì

Giovedì

Venerdì

Sabato

Domenica

Lunedì

Martedì

Mercoledì

Giovedì

Venerdì

Sabato

Domenica

1 bit2 “gruppi”

Lunedì

Martedì

Mercoledì

Giovedì

Venerdì

Sabato

Domenica

Lunedì

Martedì

Mercoledì

Giovedì

Venerdì

Sabato

Domenica

9

Page 10: DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Codifica binaria dellinformazione Marco D. Santambrogio – marco.santambrogio@polimi.it Ver. aggiornata al 29

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE

3 bit8 “gruppi”

2 bit4 “gruppi”

Lunedì

Martedì

Mercoledì

Giovedì

Venerdì

Sabato

Domenica

Lunedì

Martedì

Mercoledì

Giovedì

Venerdì

Sabato

Domenica

1 bit2 “gruppi”

Lunedì

Martedì

Mercoledì

Giovedì

Venerdì

Sabato

Domenica

Lunedì

Martedì

Mercoledì

Giovedì

Venerdì

Sabato

Domenica

10

Page 11: DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Codifica binaria dellinformazione Marco D. Santambrogio – marco.santambrogio@polimi.it Ver. aggiornata al 29

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE

Stampa dei caratteriStampa dei caratteri

11

Page 12: DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Codifica binaria dellinformazione Marco D. Santambrogio – marco.santambrogio@polimi.it Ver. aggiornata al 29

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE

Quale è il codice ASCII di Quale è il codice ASCII di ‘a’?‘a’?

12

Siamo sicuri?

Ma quindi, quanto vale ‘a’?

97, 353, 60997, 353=97+256, 609=353+256=97+256+256

97 = 97 + 256*0353 = 97+256*1 609 = 97+256*2

Page 13: DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Codifica binaria dellinformazione Marco D. Santambrogio – marco.santambrogio@polimi.it Ver. aggiornata al 29

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE

97+256*i… quindi…97+256*i… quindi…

• Quanti caratteri ci sono? 256

• Con quanti bit rappresento 256 numeri? log2256 = log228 = 8

13

Page 14: DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Codifica binaria dellinformazione Marco D. Santambrogio – marco.santambrogio@polimi.it Ver. aggiornata al 29

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE

• Quanti sono gli oggetti compresi Quanti sono gli oggetti compresi nell’insieme?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 circa 120 oggetti complessivi k = k = loglog22120120 = 7 = 7

• Codice ASCII: utilizza 7 bit e quindi può Codice ASCII: utilizza 7 bit e quindi può rappresentare al massimo 2rappresentare al massimo 277=128 =128 carattericaratteri 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

14

Page 15: DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Codifica binaria dellinformazione Marco D. Santambrogio – marco.santambrogio@polimi.it Ver. aggiornata al 29

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE

15

Page 16: DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Codifica binaria dellinformazione Marco D. Santambrogio – marco.santambrogio@polimi.it Ver. aggiornata al 29

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE

bitbit = solo due stati, = solo due stati, ““00”” oppure oppure ““11””..ByteByte = 8 bit, quindi 2 = 8 bit, quindi 288 = 256 stati = 256 statiKiloByteKiloByte [ [KBKB]] = 2= 21010 Byte = 1024 Byte ~ 10 Byte = 1024 Byte ~ 1033 Byte ByteMegaByteMegaByte [ [MBMB]] = 2= 22020 Byte = 1'048'576 Byte ~ Byte = 1'048'576 Byte ~ 101066 Byte ByteGigaByteGigaByte [ [GBGB]] = 2= 23030 Byte ~ 10 Byte ~ 1099 Byte ByteTeraByteTeraByte [ [TBTB]] = 2= 24040 Byte ~ 10 Byte ~ 101212 Byte BytePetaBytePetaByte [ [PBPB]] = 2= 25050 Byte ~ 10 Byte ~ 101515 Byte ByteExaByteExaByte [ [EBEB]] = 2= 26060 Byte ~ 10 Byte ~ 101818 Byte Byte

16

Page 17: DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Codifica binaria dellinformazione Marco D. Santambrogio – marco.santambrogio@polimi.it Ver. aggiornata al 29

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE

Da Hobbit a HobbyteDa Hobbit a Hobbyte

17

Page 18: DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Codifica binaria dellinformazione Marco D. Santambrogio – marco.santambrogio@polimi.it Ver. aggiornata al 29

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE

Da base 10 a base 2Da base 10 a base 2

• Dato un numero K rappresentato in base dieci, la sua rappresentazione in base due sarà del tipo bn bn-1bn-2 … b1b0 bi: cifra binaria

• Per convertire un numero in base dieci nel corrispondente in base due si devono trovare i resti delle divisioni successive del numero K per due

18

Page 19: DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Codifica binaria dellinformazione Marco D. Santambrogio – marco.santambrogio@polimi.it Ver. aggiornata al 29

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE

Da base 10 a base 2Da base 10 a base 2

• Esempio: il numero 610:

6/2 = 3 resto 03/2 = 1 resto 11/2 = 0 resto 1

• Leggendo i resti dal basso verso l’alto, si ha che la rappresentazione binaria del numero 610 è 1102

• Per una corretta verifica basta riconvertire il risultato alla base 10 Cioè, calcolare 1 x 22 + 1 x 21 + 0 x 20

19

Page 20: DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Codifica binaria dellinformazione Marco D. Santambrogio – marco.santambrogio@polimi.it Ver. aggiornata al 29

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE

Da base 10 a base 2Da base 10 a base 2

• Perché 1102 = 610 ?

6/2 = 3 resto 0 0 x 20 +

3/2 = 1 resto 1 1 x 21 +

1/2 = 0 resto 1 1 x 22

= 6

1 x 22 + 1 x 21 + 0 x 20 = 1 x 21 + 1 x 20 con resto 0 2 1 x 21 + 1 x 20 = 1 x 20 con resto 1 2 1 x 20 = 0 con resto 1 2

20

Page 21: DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Codifica binaria dellinformazione Marco D. Santambrogio – marco.santambrogio@polimi.it Ver. aggiornata al 29

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE

Da base 10 a base 2Da base 10 a base 2

• Esempio: il numero 34510:

345/2 = 172 resto 1172/2 = 86 resto 086/2 = 43 resto 043/2 = 21 resto 121/2 = 10 resto 110/2 = 5 resto 05/2 = 2 resto 12/2 = 1 resto 01/2 = 0 resto 1

• Leggendo i resti dal basso verso l’alto Larappresentazione binaria del numero 34510 è

1010110012

21

Page 22: DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Codifica binaria dellinformazione Marco D. Santambrogio – marco.santambrogio@polimi.it Ver. aggiornata al 29

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE

Altre basi: ottale, Altre basi: ottale, esadecimaleesadecimale

• Sistema ottale Utilizza una notazione posizionale basata su

otto cifre (0,1,…,7) e sulle potenze di 8 Esempio: 1038 = 1 x 82 + 0 x 81 + 3 x 80 = 67

• Sistema esadecimale Utilizza una notazione posizionale basata su

sedici cifre (0,1,…,9,A,B,C,D,E,F) e sulle potenze di 16

Esempio: 10316 = 1 x 162 + 0 x 161 + 3 x 160 = 259

Esempio: AC416 = 10 x 162 + 12 x 161 + 4 x 160 = 2756

22

Page 23: DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Codifica binaria dellinformazione Marco D. Santambrogio – marco.santambrogio@polimi.it Ver. aggiornata al 29

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE

Operazioni su numeri Operazioni su numeri binaribinari

• Vediamo solo il caso della addizione nella codifica binaria: Si mettono in colonna i numeri da sommare Si calcola il riporto ogni volta che la somma

parziale supera il valore 1

• Addizione:0 + 0 = 0 con riporto 00 + 1 = 1 con riporto 01 + 0 = 1 con riporto 01 + 1 = 0 con riporto 1

23

Page 24: DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Codifica binaria dellinformazione Marco D. Santambrogio – marco.santambrogio@polimi.it Ver. aggiornata al 29

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE

Operazioni su numeri Operazioni su numeri binaribinari

• Addizione:0 + 0 = 0 con riporto 00 + 1 = 1 con riporto 01 + 0 = 1 con riporto 01 + 1 = 0 con riporto 1

• Esempi:

1 + 1 =1 0

1 0 1 + 1 1 =1 0 0 0

1 0 1 1 0 1 0 1 + 1 0 0 0 1 1 0 =1 1 1 1 1 0 1 1

1 1 1 + 1 1 =1 0 1 0

24

Page 25: DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Codifica binaria dellinformazione Marco D. Santambrogio – marco.santambrogio@polimi.it Ver. aggiornata al 29

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE

Codici a lunghezza fissaCodici a lunghezza fissa

• Se si usa un numero prestabilito di cifre si ha un codice a lunghezza fissa

• In questo modo si pone anche un limite al numero massimo rappresentabile

• Esempio: qual è il numero più grande rappresentabile con 4 cifre? In base 10: 9999 In base 2: 1111 (=1510) In base 16: FFFF (=6553510) In base 8: 7777 (=409510)

25

Page 26: DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Codifica binaria dellinformazione Marco D. Santambrogio – marco.santambrogio@polimi.it Ver. aggiornata al 29

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE

Il fattorialeIl fattoriale

• Dato n, intero positivo, si definisce n fattoriale e si indica con n! il prodotto dei primi n numeri interi positivi minori o uguali di quel numero. In formule

• Nota: 0! = 1 1! = 1 2! = 2, 3! = 6,…

26

Page 27: DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Codifica binaria dellinformazione Marco D. Santambrogio – marco.santambrogio@polimi.it Ver. aggiornata al 29

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE

Il fattoriale: codiceIl fattoriale: codice

27

Page 28: DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Codifica binaria dellinformazione Marco D. Santambrogio – marco.santambrogio@polimi.it Ver. aggiornata al 29

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE

Proviamo ad eseguirlo…Proviamo ad eseguirlo…

28

WAT

Page 29: DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Codifica binaria dellinformazione Marco D. Santambrogio – marco.santambrogio@polimi.it Ver. aggiornata al 29

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE

Codici a lunghezza fissaCodici a lunghezza fissa

• Numeri maggiori di quello massimo rappresentabile causano problemi di overflow Ovvero per essere rappresentati richiedono più

cifre di quelle a disposizione

• Esempio: 4 cifre In base 10: 9999 + 1 = 1000010

In base 2: 1111 + 1 = 100002 (=1610)

In base 16: FFFF + 1 = 1000016 (=6553610)

In base 8: 7777 + 1 = 100008 (=409610)

29

Page 30: DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Codifica binaria dellinformazione Marco D. Santambrogio – marco.santambrogio@polimi.it Ver. aggiornata al 29

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE

Codici a lunghezza fissaCodici a lunghezza fissa

• In generale, con N cifre a disposizione e base b il più grande numero (intero positivo) rappresentabile si può esprimere come

bN – 1• Esempio: N=4

In base 10: 9999 = 104 - 1 In base 2: 1111 = 24 - 1 In base 16: FFFF = 164 - 1 In base 8: 7777 = 84 - 1

30

Page 31: DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Codifica binaria dellinformazione Marco D. Santambrogio – marco.santambrogio@polimi.it Ver. aggiornata al 29

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE

Codici a lunghezza fissaCodici a lunghezza fissa

• Esempio di overflow nel sistema binario dovuto a operazioni aritmetiche: 5 + 4 = 9 (in sistema decimale) abbiamo usato solo una cifra decimale per

il risultato

• Ricordiamo: 510 = 1012, 410 = 1002

1 0 1 + 1 0 0 =1 0 0 1

(in sistema binario)

Errore: overflow (non può essere codificato 910 = 10012 con tre bit)

31

Page 32: DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Codifica binaria dellinformazione Marco D. Santambrogio – marco.santambrogio@polimi.it Ver. aggiornata al 29

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE

Rappresentazione dei Rappresentazione dei numerinumeri

• Possiamo rappresentare i numeri usando un numero variabile di cifre (che dipende dal valore che si vuole rappresentare) Come? Introduciamo un simbolo speciale che indica dove

termina la rappresentazione di un numero e inizia quella del numero successivo

Esempio: 1001#11#1 (codice a lunghezza variabile, # separatore)

• Esistono anche “codici di espansione”, che permettono di definire dei codici a lunghezza variabile senza far uso del carattere di separazione

32

Page 33: DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Codifica binaria dellinformazione Marco D. Santambrogio – marco.santambrogio@polimi.it Ver. aggiornata al 29

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE

Rappresentazione dei Rappresentazione dei numerinumeri

• In realtà, una semplice codifica binaria come quella discussa fino ad ora non è sufficiente, per due motivi: Numeri negativi Numeri con la virgola

• Per questi numeri vengono utilizzate delle rappresentazioni differenti Per esempio “complemento a due” per

rappresentare i numeri negativi

33

Page 34: DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Codifica binaria dellinformazione Marco D. Santambrogio – marco.santambrogio@polimi.it Ver. aggiornata al 29

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE

Numeri negativiNumeri negativi

• Si può pensare di usare un bit per il segno “0” identifica “+” “1” identifica “-”

• Gli altri bit vengono usati per codificare il valore assoluto (modulo) del numero

-3 -2 -1 0 1 2 3 4 5 6 7

[-22+1, 22-1][0, 23-1]

34

Page 35: DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Codifica binaria dellinformazione Marco D. Santambrogio – marco.santambrogio@polimi.it Ver. aggiornata al 29

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE

Numeri negativi - problemiNumeri negativi - problemi

• Con 3 bit avremo:

000 +0

001 +1

010 +2

011 +3

100 -0

101 -1

110 -2

111 -3

Problemi: Il numero 0 ha due

rappresentazioni Per l’operazione di

somma si deve tener conto dei segni degli addendi

0 0 1 0 + (+2) 1 0 1 1 = (-3) 1 1 0 1 (-5 ERRATO)

35

Page 36: DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Codifica binaria dellinformazione Marco D. Santambrogio – marco.santambrogio@polimi.it Ver. aggiornata al 29

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE

Il fattoriale: codiceIl fattoriale: codice

36

Page 37: DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Codifica binaria dellinformazione Marco D. Santambrogio – marco.santambrogio@polimi.it Ver. aggiornata al 29

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE

Proviamo ad eseguirlo…Proviamo ad eseguirlo…

37

int sono interi con segno

Page 38: DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Codifica binaria dellinformazione Marco D. Santambrogio – marco.santambrogio@polimi.it Ver. aggiornata al 29

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE

Il fattoriale: unsigned intIl fattoriale: unsigned int

38

Page 39: DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Codifica binaria dellinformazione Marco D. Santambrogio – marco.santambrogio@polimi.it Ver. aggiornata al 29

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE

Proviamo ad eseguirlo…Proviamo ad eseguirlo…

39

Ora solo overflow

Page 40: DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Codifica binaria dellinformazione Marco D. Santambrogio – marco.santambrogio@polimi.it Ver. aggiornata al 29

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE

Numeri negativi: Complemento a Numeri negativi: Complemento a duedue

• Il bit più significativo rappresenta il segno del numero: 0 per i numeri positivi e 1 per i numeri negativi

• La rappresentazione di un numero positivo si ottiene codificando il valore assoluto del numero con i bit restanti

• La rappresentazione di un numero negativo si ottiene in tre passi: Si rappresenta in complemento a due il numeri

positivo con lo stesso valore assoluto del numero negativo da codificare

Si invertono tutti i bit in tale rappresentazione (01,10)

Si somma uno al risultato ottenuto al passo precedente

40

Page 41: DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Codifica binaria dellinformazione Marco D. Santambrogio – marco.santambrogio@polimi.it Ver. aggiornata al 29

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE

Complemento a dueComplemento a due

• Esempio (con 4 bit a disposizione): La codifica di +5 è 0101 La codifica del numero –5 avviene in tre

passi:• La rappresentazione in complemento a due di +5

è 0101• Invertendo tutti i bit si ottiene 1010• Sommando 1 si ottiene 1011, la rappresentazione

in complemento a due di -5

41

Page 42: DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Codifica binaria dellinformazione Marco D. Santambrogio – marco.santambrogio@polimi.it Ver. aggiornata al 29

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE

Complemento a dueComplemento a due

• Per ottenere un numero con segno data la sua rappresentazione in complemento a due: Se il primo bit è 0 il numero è positivo: per

calcolarne il valore assoluto si esegue la conversione da binario a decimale

Se il primo bit è 1 il numero è negativo:• Si ignora il primo bit• Si invertono i restanti bit• Si converte il numero da binario a decimale• Si somma uno al numero ottenuto per ottenere il

valore assoluto del numero negativo

42

Page 43: DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Codifica binaria dellinformazione Marco D. Santambrogio – marco.santambrogio@polimi.it Ver. aggiornata al 29

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE

Complemento a dueComplemento a due

• Esempio: 1011 Si esclude il primo bit Invertendo 011 si ottiene 100 che è codifica di

4 Va aggiunto 1 per ottenere il valore assoluto 5 Il risultato è quindi -5

43

Page 44: DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Codifica binaria dellinformazione Marco D. Santambrogio – marco.santambrogio@polimi.it Ver. aggiornata al 29

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE

Complemento a dueComplemento a due

• Con 3 bit avremo:

000 +0

001 +1

010 +2

011 +3

100 -4

101 -3

110 -2

111 -1

Esempi di addizione: 0 0 1 0 + (+2) 1 0 1 1 = (-5) 1 1 0 1 (-3)

0 1 1 1 + (+7) 1 0 1 1 = (-5) 0 0 1 0 (+2)

Nel secondo esempio, l’overflow è ignorato

44

Page 45: DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Codifica binaria dellinformazione Marco D. Santambrogio – marco.santambrogio@polimi.it Ver. aggiornata al 29

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE

Exe 1: Codifica Exe 1: Codifica dell’informazionedell’informazione

• Quanti bit si devono utilizzare per rappresentare 300 informazioni distinte?

• Quanti byte occupa la parola “psicologia” se la si codifica utilizzando il codice ASCII?

• Dati 12 bit per la codifica, quante informazioni distinte si possono rappresentare?

45

Page 46: DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Codifica binaria dellinformazione Marco D. Santambrogio – marco.santambrogio@polimi.it Ver. aggiornata al 29

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE

Exe 2: Codifica dei suoniExe 2: Codifica dei suoni

• Quanto spazio occupa un suono della durata di 30 secondi campionato a 100 Hz (100 campioni al secondo), in cui ogni campione occupa 4 byte?

46

Page 47: DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Codifica binaria dellinformazione Marco D. Santambrogio – marco.santambrogio@polimi.it Ver. aggiornata al 29

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE

Exe 3: Codifica dei numeriExe 3: Codifica dei numeri

• Codificare il numero 17510 nella corrispondente rappresentazione binaria

• Ordinare in modo crescente i seguente numeri: 10510 , 128 , 1001100002 , 1001110

• Codificare il numero negativo –1510 nella rappresentazione in complemento a due

47

Page 48: DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Codifica binaria dellinformazione Marco D. Santambrogio – marco.santambrogio@polimi.it Ver. aggiornata al 29

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE

Exe 4: Codifica delle immaginiExe 4: Codifica delle immagini

• Quanti bit occupa un’immagine di 100 x 100 pixel in bianco e nero?

• Quanti byte occupa un’immagine di 100 x 100 pixel a 256 colori?

• Se un’immagine a 16777216 di colori occupa 2400 byte, da quanti pixel sarà composta?

48

Page 49: DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Codifica binaria dellinformazione Marco D. Santambrogio – marco.santambrogio@polimi.it Ver. aggiornata al 29

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE

Fonti per lo studio + Fonti per lo studio + CreditsCredits• Fonti per lo studio

Informatica arte e mestiere, S. Ceri, D. Mandrioli, L. Sbattella, McGrawHill• Capitolo 11

Introduzione ai sistemi informatici, D. Sciuto, G. Buonanno, L. Mari, 4a Ed, McGrawHill• Capitolo 2

The Art & Craft of Computing, S. Ceri, D. Mandrioli, L. Sbattella, Addison-Wesley• Capitolo 13

• Credits P. Spoletini J. Sproston

49