La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Rappresentazione dell’Informazione. Rappresentazione delle informazioni in codice binario Caratteri Naturali e Reali positivi Interi Razionali.

Presentazioni simili


Presentazione sul tema: "Rappresentazione dell’Informazione. Rappresentazione delle informazioni in codice binario Caratteri Naturali e Reali positivi Interi Razionali."— Transcript della presentazione:

1 Rappresentazione dell’Informazione

2 Rappresentazione delle informazioni in codice binario Caratteri Naturali e Reali positivi Interi Razionali

3 Rappresentazione del testo Una stringa di bit per ogni simbolo (caratteri maiuscoli, caratteri minuscoli, cifre,...) ANSI ( American National Standards Institute ) ha adottato il codice ASCII ( American Standard Code for Information Interchange ): 7 bit per ogni simbolo + 0 come bit piu’ significativo =un byte

4 Rappresentare numeri Il codice ASCII e’ inefficiente: per rappresentare numeri con n cifre servono n byte Meglio usare metodi che sfruttano la notazione binaria (base 2) Base 2: solo le cifre 0 e 1 invece che 0, 1,..., 9 (base 10)

5 Base 10 e base 2

6 Rappresentazione decimale Base 10  cifre da 0 a 9 Sequenza di cifre decimali d k-1 … d 1 d 0  numero intero ∑ j=0…k-1 d j 10 j d k-1 x 10 k-1 + … d 1 x 10 + d 0 Esempio: 102 in base 10 è 1x x10 + 2x1

7 Rappresentazione binaria Base 2  cifre 0 e 1 Sequenza di cifre binarie d k-1 … d 1 d 0  numero intero (stesso procedimento ma su base 2) ∑ j=0…k-1 d j 2 j Esempio: = 1· · · ·2 0 = = 45 10

8 Rappresentazione binaria  Valore minimo di una sequenza di n cifre binarie: 000 … 0 (n volte) = 0 10  Valore massimo: 1111…111 (n volte) = 2 n n-2 + … = 2 n –1  Esempio con n=3: 111 = = 7 =  Da 0 a 8: 0, 1, 10, 11, 100, 101, 110, 111, 1000

9 Una proprietà dei numeri binari = = 36 = 73/2 e questo è il resto Eliminare il bit più a destra corrisponde a dividere per 2 il valore, ed il bit eliminato è il resto

10 Trasformazione di un numero in base 10 a numero binario /2=62 resto 1 62/2=31 resto 0 31/2=15 resto 1 15/2=7 resto 1 7/2=3 resto 1 3/2=1 resto 1 1/2=0 resto in binario è rappresenta 62 rappresenta 31 Etc.

11 Esercizio 1 Scrivere la rappresentazione binaria dei numeri decimali:

12 Esercizio 2 Scrivere la rappresentazione decimale dei numeri binari:

13 Correzione degli esercizi Scrivere la rappresentazione binaria dei numeri decimali: 30    1111

14 Scrivere la rappresentazione decimale dei numeri binari: 1000     23 Correzione degli esercizi

15 Somma binaria

16 Riporto: =  Colonna per colonna, da destra a sinistra  Riporto se la somma su una colonna supera la base  Tre cifre binarie (prima riga, seconda riga, riporto), somma =1 se una o tre sono 1, riporto = 1 se almeno due sono 1

17 1 11 riporti = Si vuole quindi costruire un circuito per sommare due numeri binari

18 riporti = Iniziamo con un circuito che faccia la somma su una colonna Abbiamo tre cifre binarie X, Y, R in input mentre in output vogliamo ottenere la somma S ed il riporto R'

19 Tabella di verità X Y R S R'

20 Supponiamo di avere i circuiti che calcolano somma e riporto SOMMA X Y R S RIPORTO X Y R R'

21 Possiamo allora combinare i circuiti SOMMA e RIPORTO per ottenere il seguente circuito 1-ADD SOMMA X Y R S RIPORTO R' 1-ADD

22 Il circuito RIPORTO puo` essere realizzato nel seguente modo X Y R R' RIPORTO Basta infatti verificare la corrispondente tabella di verita’

23 Il circuito SOMMA naturalmente puo' pure essere realizzato (vedi dispensa). A questo punto componendo K circuiti 1-ADD e` possibile realizzare un circuito K-ADD che somma due numeri binari di K cifre. Vediamo l'esempio della somma di due numeri binari di 4 cifre.

24 Y 3 Y 2 Y 1 Y 0 X 3 X 2 X 1 X 0 1-add 1-add 0 riporto iniziale riporto finale inutile risultato Somma di numeri di 4 bit S0S0 S1S1 S2S2 S3S3 0R0R0 R1R1 R2R2 R3R3

25 add 1-add Esempio =

26 Attenzione Si e` trascurato il problema del cosiddetto overflow, cioe’ il risultato e’ troppo grande per essere contenuto nei bit disponibili. Per esempio: =

27 Esercizi

28 Correzioni

29 Rappresentazione dei reali

30 Reali in notazione binaria b k-1 b k-2 … b 2 b 1 b 0, b -1 b -2 … b k-1 x 2 k-1 + b k-2 x 2 k-2 +… + b 2 x b 1 x 2 + b 0 x b -1 x b -2 x … Da decimale a binario:  Per la parte intera, come sappiamo fare (metodo delle divisioni)

31 REALE--> BINARIO cosa significa una parte frazionaria binaria:

32 moltiplicarlo per 2 significa spostare il punto di un posto a destra

33 Se abbiamo un valore decimale in base 10: 0.99 come troviamo la sua rappresentazione in base 2? Ragioniamo come segue: Supponiamo che.99 =.b 1 b 2 b 3...b k (binario) Allora 2 .99 = 1.98 = b 1. b 2 b 3...b k Quindi b 1 è 1 e.98 è rappresentato da. b 2 b 3...b k

34 Per trovare la rappresentazione binaria di un decimale lo moltiplichiamo per 2 ed osserviamo se 1 appare nella parte intera:.59  2=  2=  2=  2=  2=  2= dipende da quanti bit abbiamo rappresentazione binaria di.59

35 Esempio  (metodo della divisione per 2).59  (metodo della moltiplic. per 2)

36 Esercizi Convertire i seguenti numeri binari in formato decimale:  11,01  101,111  10,1 Esprimere i seguenti valori in notazione binaria:  4.5  2.75 Eseguire le seguenti somme binarie:  1010,001+1,101  111,11+0,01

37 Correzione degli esercizi Convertire i seguenti numeri binari in formato decimale:  11,01  3 +1/4 = 13/4 = 3.25  101,111  5 + 7/8 = 47/8 = 5.87  10,1  2.5 Esprimere i seguenti valori in notazione binaria:  4.5  100,1  2.75  10,11 Eseguire le seguenti somme binarie:  1010, ,101  1011,110  111,11 + 0,01  1000,00

38 SECONDA PARTE

39 Rappresentazione degli interi

40 Notazione in complemento a 2 n bit per la notazione  Nella realta’ n=32  Per comodita’ noi supponiamo n=4 Numeri positivi  0 si rappresenta con 4 zeri 0000  1  0001, 2  0010 e cosi’ come gia’ visto fino al massimo positivo rappresentabile 0111  7 Numeri negativi  -1 si rappresenta con 4 uni 1111  -1  -2 -> 1110, -3  1101 fino al minimo negativo rappresentabile 1000  -8 Gli interi rappresentabili con n bit [-2 n-1, 2 n-1 -1]  Nell’esempio [-2 4-1, ]=[-8,7]

41 Complemento a due su 3 e 4 bit

42 Complemento a due Bit piu’ a sinistra: segno (0 per positivi, 1 per negativi) Confrontiamo k e –k: da destra a sinistra, uguali fino al primo 1 incluso, poi una il complemento dell’altra Esempio (4 bit): 2=0010, -2=1110

43 Complemento a due: decodifica Se bit di segno =0  positivo, altrimenti negativo Se positivo, basta leggere gli altri bit Se negativo, scrivere gli stessi bit da destra a sinistra fino al primo 1, poi complementare, e poi leggere Es.: 1010 e’ negativo, rappresenta 110 (6), quindi -6

44 Da k a -k

45 Metodo alternativo: codifica e decodifica Intero positivo x  complemento a due su n bit: se x  2 n-1 -1 scrivo (x) 2, altrimenti non e’ rappresentabile  Esempio: n=4, x=5, (5) 2 =0101, x=8>2 3 -1=7 Intero negativo –x  complemento a due su n bit: se –x  -2 n-1 calcolo 2 n +(-x)=y e scrivo (y) 2  Esempio: n=4, –x=-3 y=2 4 -3=16-3=13 (13) 2 =1101 Compl. a due positivo (0 = bit + significativo)  decimale: decodifica dal binario  Esempio: n=4, 0111=(7) 2 Compl. a due negativo (1 = bit + significativo)  decimale: decodifico dal binario a decimale, ottengo y e poi sottraggo y-2 n  Esempio 1010 = (10) =-6

46 Somma in complemento a due Si utilizza il solito metodo Anche per sottrazione  basta avere i circuiti per somma e complemento  Es. (4 bit): 7-5 = 7 +(-5) = = 0010  5 = 0101  -5 = 1011  L’eventuale n+1-simo bit generato a sinistra dal riporto deve essere troncato  Esempio =

47 Esempi di somme

48 Overflow Si sommano due numeri positivi tali che il risultato e’ maggiore del massimo numero positivo rappresentabile con i bit fissati (lo stesso per somma di due negativi) Si ha un errore di overflow se:  Sommando due positivi si ottiene un numero che inizia per 1: =1001, 5+4=-7  Sommando due negativi viene un numero che inizia per 0: = (1)0111, -5+(-4)= 7 Nei computer c’e’ overflow con valori superiori a = 2 31

49 Esercizi Da complemento a 2 a base 10:  00011, 01111, 11100, 11010, 00000, Da base 10 a complemento a 2 su 8 bit:  6, -6, 13, -1, 0 Numero piu’ grande e piu’ piccolo per la notazione in complemento a 2 su 4, 6, 8 bit

50 Correzioni Da complemento a 2 a base 10:   3,   15,   -4,   -6,   0,   -16 Da base 10 a complemento a 2 su 8 bit:  6, -6, 13, -1, 0  , , , , Numero piu’ grande e piu’ piccolo per la notazione in complemento a 2 su 4, 6, 8 bit  Numero piu’ piccolo -2 n-1 (n=6  -2 5 = -32)  Numero piu’ grande 2 n-1 -1 (n=6  = 31)

51 Correzioni (1) Convertire i seguenti numeri binari in formato decimale:  11,01  3 +1/4 = 13/4 = 3.25  101,111  5 + 7/8 = 47/8 = 5.87  10,1  2.5 Esprimere i seguenti valori in notazione binaria:  4.5  100,1  2.75  10,11 Eseguire le seguenti somme binarie:  1010, ,101  1011,110  111,11 + 0,01  1000,00

52 Notazione in eccesso n bit  2 n possibili configurazioni binarie ordinate da n zeri a n uni Supponiamo per comodita’ che n=4 0 e’ rappresentato da un 1 seguito da n-1 zeri: 0  1000 n zeri codifica -2 n-1 : = -8  0000 (0-8 = -8) n uni codifica 2 n-1 – 1: = 7  1111 (15-8 = +7) n bit: notazione in eccesso 2 n-1 rispetto al corrispondente binario  Es.: 4 bit, notazione in eccesso 8

53 Notazione in eccesso 8

54 Esercizi Da eccesso 8 a decimale:  1110, 0111, 1000,0010, 0000, 1001 Da decimale a eccesso 8  5, -5, 3, 0, 7, -8 Numero piu’ grande e piu’ piccolo per la notazione in eccesso 8, 16, 32

55 Correzioni (1) Da eccesso 8 a decimale:  1110  14-8=6  0111  7-8=-1  1000, 0010, 0000, , -6, -8, 1 Da decimale a eccesso 8  5  5+8  13  1101  -5  -5+8  3  0011  3, 0, 7, , 1000, 1111, 0000

56 Correzioni (2) Numero piu’ grande e piu’ piccolo per la notazione in eccesso 8, 16, 32  eccesso 8: 8=2 n-1  n=4 numero piu’ piccolo: -8, numero piu’ grande 7  eccesso 16: 16=2 n-1  n=5 numero piu’ piccolo: -16 numero piu’ grande 15  eccesso 32: 32=2 n-1  n=6 numero piu’ piccolo: -32 numero piu’ grande 31

57 Rappresentazione dei numeri reali (floating point)

58 Rappresentazione dei reali in un computer Bisogna rappresentare la posizione della virgola Notazione in virgola mobile (floating point): suddivisione in tre campi Esempio con 8 bit:  Partendo da sinistra: primo bit  segno (0 pos., 1 neg.)  Tre bit per esponente  Quattro bit per mantissa V = 0.mantissa * 2^{exp}

59 Da floating point a decimale Segno: 0  positivo, 1  negativo 2. Anteporre 0, alla mantissa  0, Interpretare l’ esponente come un numero in eccesso su tre bit (eccesso 4) 110  6, 6-4 =2 4. Spostare la virgola della mantissa della quantita’ ottenuta dall’esponente a dx se il numero positivo a sx se e’ negativo 0,1011  10,11 5.Tradurre da binario a decimale mettendo il segno a seconda del bit piu’ significativo del foating point 10,11  2,75 6.Aggiungere il segno: +2,75

60 Altro esempio di decodifica Segno: 1  negativo Mantissa: 1100  0,1100 Esponente: 011  -1 in notazione in eccesso 4  virgola a sinistra di 1 posto  0,01100 (3/8, infatti 2x2^(-2) + 2x2^(-3) ) Numero decimale: -3/8 = -0,375

61 Da decimale a floating point 1. Da decimale a binario: (=3/8)  0, La mantissa si ottiene dall’1 piu’ a sinistra completando con zeri i quattro bit Contare di quante posizioni si deve spostare la virgola per passare da 0,mantissa a 0,011. Il numero e’ negativo se la virgola va a sinistra 1 bit a sinistra  Codificare il numero ottenuto in eccesso = 3  Mettere nel bit piu’ significativo il bit di segno

62 Errori di troncamento Codifichiamo 2 + 5/8= in 8 bit Binario: 10,101 Mantissa: vorremmo scrivere 10101, ma abbiamo solo 4 bit  1010, tronco il bit meno significativo Esponente: 110 (2) Risultato: , che rappresenta 2.5 e non 2 + 5/8  Infatti: 0,1010  110 (2)  10,10  2+ ½ = 2.5

63 Esercizi Decodifica: , , Codifica: 2.75, 5.25 Qual e’ il piu’ grande tra e ?

64 Correzioni (1) Decodifica:  5/8 = Infatti: > positivo 0, > 4-4= /2+1/8= 5/8 = > Codifica: > Infatti: binario 10, > 2 posti a dx 2 -->

65 Correzioni (2) Decodifica:  3 + 1/4 = 13/4 =  9/32 Codifica: 5.25  Qual e’ il piu’ grande tra e ? Il primo e’ 0.56, il secondo e’ 0.40  il piu’ grande e’ il primo


Scaricare ppt "Rappresentazione dell’Informazione. Rappresentazione delle informazioni in codice binario Caratteri Naturali e Reali positivi Interi Razionali."

Presentazioni simili


Annunci Google