rappresentazione dell’informazione. rappresentazione delle informazioni in codice binario...
TRANSCRIPT
![Page 1: Rappresentazione dell’Informazione. Rappresentazione delle informazioni in codice binario Caratteri Naturali e Reali positivi Interi Razionali](https://reader036.vdocuments.mx/reader036/viewer/2022062418/5542eb75497959361e8def9d/html5/thumbnails/1.jpg)
Rappresentazione dell’Informazione
![Page 2: Rappresentazione dell’Informazione. Rappresentazione delle informazioni in codice binario Caratteri Naturali e Reali positivi Interi Razionali](https://reader036.vdocuments.mx/reader036/viewer/2022062418/5542eb75497959361e8def9d/html5/thumbnails/2.jpg)
Rappresentazione delle informazioni in codice binario
Caratteri Naturali e Reali positivi Interi Razionali
![Page 3: Rappresentazione dell’Informazione. Rappresentazione delle informazioni in codice binario Caratteri Naturali e Reali positivi Interi Razionali](https://reader036.vdocuments.mx/reader036/viewer/2022062418/5542eb75497959361e8def9d/html5/thumbnails/3.jpg)
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
![Page 4: Rappresentazione dell’Informazione. Rappresentazione delle informazioni in codice binario Caratteri Naturali e Reali positivi Interi Razionali](https://reader036.vdocuments.mx/reader036/viewer/2022062418/5542eb75497959361e8def9d/html5/thumbnails/4.jpg)
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)
![Page 5: Rappresentazione dell’Informazione. Rappresentazione delle informazioni in codice binario Caratteri Naturali e Reali positivi Interi Razionali](https://reader036.vdocuments.mx/reader036/viewer/2022062418/5542eb75497959361e8def9d/html5/thumbnails/5.jpg)
Base 10 e base 2
![Page 6: Rappresentazione dell’Informazione. Rappresentazione delle informazioni in codice binario Caratteri Naturali e Reali positivi Interi Razionali](https://reader036.vdocuments.mx/reader036/viewer/2022062418/5542eb75497959361e8def9d/html5/thumbnails/6.jpg)
Rappresentazione decimale
Base 10 cifre da 0 a 9 Sequenza di cifre decimali
d k-1 … d1 d0
numero intero ∑j=0…k-1 dj 10j
dk-1 x 10 k-1 + … d1 x 10 + d0
Esempio: 102 in base 10 è 1x100 + 0x10 + 2x1
![Page 7: Rappresentazione dell’Informazione. Rappresentazione delle informazioni in codice binario Caratteri Naturali e Reali positivi Interi Razionali](https://reader036.vdocuments.mx/reader036/viewer/2022062418/5542eb75497959361e8def9d/html5/thumbnails/7.jpg)
Rappresentazione binaria Base 2 cifre 0 e 1 Sequenza di cifre binarie
d k-1 … d1 d0
numero intero (stesso procedimento ma su base 2) ∑j=0…k-1 dj 2j
Esempio: 01011012 = 1·25 + 1·23 + 1·22 + 1·20
= 32 + 8 + 4 + 1
= 4510
![Page 8: Rappresentazione dell’Informazione. Rappresentazione delle informazioni in codice binario Caratteri Naturali e Reali positivi Interi Razionali](https://reader036.vdocuments.mx/reader036/viewer/2022062418/5542eb75497959361e8def9d/html5/thumbnails/8.jpg)
Rappresentazione binaria
Valore minimo di una sequenza di n
cifre binarie: 000 … 0 (n volte) = 010
Valore massimo: 1111…111 (n volte)
=
2n-1 + 2 n-2 + … + 22 + 21 + 20 = 2n –1
Esempio con n=3: 111 = 22 + 2 + 1 = 7
= 23 -1
Da 0 a 8: 0, 1, 10, 11, 100, 101, 110,
111, 1000
![Page 9: Rappresentazione dell’Informazione. Rappresentazione delle informazioni in codice binario Caratteri Naturali e Reali positivi Interi Razionali](https://reader036.vdocuments.mx/reader036/viewer/2022062418/5542eb75497959361e8def9d/html5/thumbnails/9.jpg)
Una proprietà dei numeri binari
1001001= 73
100100 = 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
![Page 10: Rappresentazione dell’Informazione. Rappresentazione delle informazioni in codice binario Caratteri Naturali e Reali positivi Interi Razionali](https://reader036.vdocuments.mx/reader036/viewer/2022062418/5542eb75497959361e8def9d/html5/thumbnails/10.jpg)
Trasformazione di un numero in base 10 a numero binario
125
125/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 1
125 in binario è
1111101rappresenta 62
rappresenta 31
Etc.
![Page 11: Rappresentazione dell’Informazione. Rappresentazione delle informazioni in codice binario Caratteri Naturali e Reali positivi Interi Razionali](https://reader036.vdocuments.mx/reader036/viewer/2022062418/5542eb75497959361e8def9d/html5/thumbnails/11.jpg)
Esercizio 1
•Scrivere la rappresentazione binaria dei numeri decimali:
•30
•36
•15
![Page 12: Rappresentazione dell’Informazione. Rappresentazione delle informazioni in codice binario Caratteri Naturali e Reali positivi Interi Razionali](https://reader036.vdocuments.mx/reader036/viewer/2022062418/5542eb75497959361e8def9d/html5/thumbnails/12.jpg)
Esercizio 2
•Scrivere la rappresentazione decimale dei numeri binari:
•1000
•1010
•01011
•10111
![Page 13: Rappresentazione dell’Informazione. Rappresentazione delle informazioni in codice binario Caratteri Naturali e Reali positivi Interi Razionali](https://reader036.vdocuments.mx/reader036/viewer/2022062418/5542eb75497959361e8def9d/html5/thumbnails/13.jpg)
Correzione degli esercizi
•Scrivere la rappresentazione binaria dei numeri decimali:
•30 11110
•36 100100
•15 1111
![Page 14: Rappresentazione dell’Informazione. Rappresentazione delle informazioni in codice binario Caratteri Naturali e Reali positivi Interi Razionali](https://reader036.vdocuments.mx/reader036/viewer/2022062418/5542eb75497959361e8def9d/html5/thumbnails/14.jpg)
•Scrivere la rappresentazione decimale dei numeri binari:
•1000 8
•1010 10
•01011 11
•10111 23
Correzione degli esercizi
![Page 15: Rappresentazione dell’Informazione. Rappresentazione delle informazioni in codice binario Caratteri Naturali e Reali positivi Interi Razionali](https://reader036.vdocuments.mx/reader036/viewer/2022062418/5542eb75497959361e8def9d/html5/thumbnails/15.jpg)
Somma binaria
![Page 16: Rappresentazione dell’Informazione. Rappresentazione delle informazioni in codice binario Caratteri Naturali e Reali positivi Interi Razionali](https://reader036.vdocuments.mx/reader036/viewer/2022062418/5542eb75497959361e8def9d/html5/thumbnails/16.jpg)
Somma binaria
Riporto: 1 1 1 1 0 0
0111002 + 1001112 = ----------- 10000112
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
![Page 17: Rappresentazione dell’Informazione. Rappresentazione delle informazioni in codice binario Caratteri Naturali e Reali positivi Interi Razionali](https://reader036.vdocuments.mx/reader036/viewer/2022062418/5542eb75497959361e8def9d/html5/thumbnails/17.jpg)
1 11 riporti 1010011 + 1100011 =
----------
10110110
Si vuole quindi costruire un circuito per sommare due numeri binari
![Page 18: Rappresentazione dell’Informazione. Rappresentazione delle informazioni in codice binario Caratteri Naturali e Reali positivi Interi Razionali](https://reader036.vdocuments.mx/reader036/viewer/2022062418/5542eb75497959361e8def9d/html5/thumbnails/18.jpg)
10000110 riporti 1010011 + 1100011 =
----------
10110110
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'
![Page 19: Rappresentazione dell’Informazione. Rappresentazione delle informazioni in codice binario Caratteri Naturali e Reali positivi Interi Razionali](https://reader036.vdocuments.mx/reader036/viewer/2022062418/5542eb75497959361e8def9d/html5/thumbnails/19.jpg)
Tabella di verità
X Y R S R'
0 0 0 0 0
0 0 1 1 0
0 1 0 1 0
0 1 1 0 1
1 0 0 1 0
1 0 1 0 1
1 1 0 0 1
1 1 1 1 1
![Page 20: Rappresentazione dell’Informazione. Rappresentazione delle informazioni in codice binario Caratteri Naturali e Reali positivi Interi Razionali](https://reader036.vdocuments.mx/reader036/viewer/2022062418/5542eb75497959361e8def9d/html5/thumbnails/20.jpg)
Supponiamo di avere i circuiti che calcolano somma e riporto
SOMMA
XYR
S
RIPORTO
XYR
R'
![Page 21: Rappresentazione dell’Informazione. Rappresentazione delle informazioni in codice binario Caratteri Naturali e Reali positivi Interi Razionali](https://reader036.vdocuments.mx/reader036/viewer/2022062418/5542eb75497959361e8def9d/html5/thumbnails/21.jpg)
Possiamo allora combinare i circuiti SOMMA e RIPORTO per ottenere il seguente circuito 1-ADD
SOMMAXYR
S
RIPORTOR'
1-ADD
![Page 22: Rappresentazione dell’Informazione. Rappresentazione delle informazioni in codice binario Caratteri Naturali e Reali positivi Interi Razionali](https://reader036.vdocuments.mx/reader036/viewer/2022062418/5542eb75497959361e8def9d/html5/thumbnails/22.jpg)
Il circuito RIPORTO puo` essere realizzato nel seguente modo
X
Y
R
R'
RIPORTO
Basta infatti verificare la corrispondente tabella di verita’
![Page 23: Rappresentazione dell’Informazione. Rappresentazione delle informazioni in codice binario Caratteri Naturali e Reali positivi Interi Razionali](https://reader036.vdocuments.mx/reader036/viewer/2022062418/5542eb75497959361e8def9d/html5/thumbnails/23.jpg)
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.
![Page 24: Rappresentazione dell’Informazione. Rappresentazione delle informazioni in codice binario Caratteri Naturali e Reali positivi Interi Razionali](https://reader036.vdocuments.mx/reader036/viewer/2022062418/5542eb75497959361e8def9d/html5/thumbnails/24.jpg)
Y3 Y2 Y1 Y0 X3 X2 X1 X0
1-add 1-add 1-add 1-add
0 riporto iniziale
riporto finale inutile
risultato
Somma di numeri di 4 bit
S0S1S2S3
0R0R1R2R3
![Page 25: Rappresentazione dell’Informazione. Rappresentazione delle informazioni in codice binario Caratteri Naturali e Reali positivi Interi Razionali](https://reader036.vdocuments.mx/reader036/viewer/2022062418/5542eb75497959361e8def9d/html5/thumbnails/25.jpg)
0 1 1 0 0 1 1 1
1-add 1-add 1-add 1-add
1 1 0 1
00110
Esempio
0111 + 0110 =
------
1101
![Page 26: Rappresentazione dell’Informazione. Rappresentazione delle informazioni in codice binario Caratteri Naturali e Reali positivi Interi Razionali](https://reader036.vdocuments.mx/reader036/viewer/2022062418/5542eb75497959361e8def9d/html5/thumbnails/26.jpg)
Attenzione
Si e` trascurato il problema del cosiddetto overflow, cioe’ il risultato e’ troppo grande per essere contenuto nei bit disponibili.
Per esempio:
0111 + 1110 =
------
10101
![Page 27: Rappresentazione dell’Informazione. Rappresentazione delle informazioni in codice binario Caratteri Naturali e Reali positivi Interi Razionali](https://reader036.vdocuments.mx/reader036/viewer/2022062418/5542eb75497959361e8def9d/html5/thumbnails/27.jpg)
Esercizi
11011+ 1100---------
11111+ 1---------
![Page 28: Rappresentazione dell’Informazione. Rappresentazione delle informazioni in codice binario Caratteri Naturali e Reali positivi Interi Razionali](https://reader036.vdocuments.mx/reader036/viewer/2022062418/5542eb75497959361e8def9d/html5/thumbnails/28.jpg)
Correzioni
11011+ 1100---------
11111+ 1---------
100111
1
100000
11111
![Page 29: Rappresentazione dell’Informazione. Rappresentazione delle informazioni in codice binario Caratteri Naturali e Reali positivi Interi Razionali](https://reader036.vdocuments.mx/reader036/viewer/2022062418/5542eb75497959361e8def9d/html5/thumbnails/29.jpg)
Rappresentazione dei reali
![Page 30: Rappresentazione dell’Informazione. Rappresentazione delle informazioni in codice binario Caratteri Naturali e Reali positivi Interi Razionali](https://reader036.vdocuments.mx/reader036/viewer/2022062418/5542eb75497959361e8def9d/html5/thumbnails/30.jpg)
Reali in notazione binaria
bk-1 bk-2 … b2 b1 b0 , b-1 b-2 …
bk-1 x 2 k-1 + bk-2 x 2 k-2 +… + b2 x 22 + b1 x 2 + b0 x 20 + b-1 x 2-1 + b-2 x 2-2 +…
Da decimale a binario:Per la parte intera, come sappiamo fare
(metodo delle divisioni)
![Page 31: Rappresentazione dell’Informazione. Rappresentazione delle informazioni in codice binario Caratteri Naturali e Reali positivi Interi Razionali](https://reader036.vdocuments.mx/reader036/viewer/2022062418/5542eb75497959361e8def9d/html5/thumbnails/31.jpg)
REALE--> BINARIO
cosa significa una parte frazionaria binaria:
.1101001
2-1+ 2-2 + 2-4 + 2-7
![Page 32: Rappresentazione dell’Informazione. Rappresentazione delle informazioni in codice binario Caratteri Naturali e Reali positivi Interi Razionali](https://reader036.vdocuments.mx/reader036/viewer/2022062418/5542eb75497959361e8def9d/html5/thumbnails/32.jpg)
.1101001 moltiplicarlo per 2 significa spostare il punto di un posto a destra
1.101001
2-1 2-2...
20 2-1.......
![Page 33: Rappresentazione dell’Informazione. Rappresentazione delle informazioni in codice binario Caratteri Naturali e Reali positivi Interi Razionali](https://reader036.vdocuments.mx/reader036/viewer/2022062418/5542eb75497959361e8def9d/html5/thumbnails/33.jpg)
Se abbiamo un valore decimale in base 10:
0.99 come troviamo la sua rappresentazione in base 2? Ragioniamo come segue:
Supponiamo che .99 = .b1b2b3...bk (binario)
Allora 2 .99 = 1.98 = b1.b2b3...bk
Quindi b1 è 1
e .98 è rappresentato da .b2b3...bk
![Page 34: Rappresentazione dell’Informazione. Rappresentazione delle informazioni in codice binario Caratteri Naturali e Reali positivi Interi Razionali](https://reader036.vdocuments.mx/reader036/viewer/2022062418/5542eb75497959361e8def9d/html5/thumbnails/34.jpg)
Per trovare la rappresentazione binaria di un decimale lo moltiplichiamo per 2 ed osserviamo se 1 appare nella parte intera:
.592= 1.18
.182= 0.36
.362= 0.72
.722= 1.44
.442= 0.88
.882= 1.76 .......
.100101.....dipende da quanti bit abbiamo
rappresentazione binaria di .59
![Page 35: Rappresentazione dell’Informazione. Rappresentazione delle informazioni in codice binario Caratteri Naturali e Reali positivi Interi Razionali](https://reader036.vdocuments.mx/reader036/viewer/2022062418/5542eb75497959361e8def9d/html5/thumbnails/35.jpg)
Esempio
18.59
18 10010 (metodo della divisione per 2)
.59 .100101...(metodo della moltiplic. per 2)
10010.100101....
![Page 36: Rappresentazione dell’Informazione. Rappresentazione delle informazioni in codice binario Caratteri Naturali e Reali positivi Interi Razionali](https://reader036.vdocuments.mx/reader036/viewer/2022062418/5542eb75497959361e8def9d/html5/thumbnails/36.jpg)
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
![Page 37: Rappresentazione dell’Informazione. Rappresentazione delle informazioni in codice binario Caratteri Naturali e Reali positivi Interi Razionali](https://reader036.vdocuments.mx/reader036/viewer/2022062418/5542eb75497959361e8def9d/html5/thumbnails/37.jpg)
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,001 + 1,101 1011,110 111,11 + 0,01 1000,00
![Page 38: Rappresentazione dell’Informazione. Rappresentazione delle informazioni in codice binario Caratteri Naturali e Reali positivi Interi Razionali](https://reader036.vdocuments.mx/reader036/viewer/2022062418/5542eb75497959361e8def9d/html5/thumbnails/38.jpg)
Rappresentazione degli interi
![Page 39: Rappresentazione dell’Informazione. Rappresentazione delle informazioni in codice binario Caratteri Naturali e Reali positivi Interi Razionali](https://reader036.vdocuments.mx/reader036/viewer/2022062418/5542eb75497959361e8def9d/html5/thumbnails/39.jpg)
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 [-2n-1 , 2n-1 -1]
Nell’esempio [-24-1,24-1-1]=[-8,7]
![Page 40: Rappresentazione dell’Informazione. Rappresentazione delle informazioni in codice binario Caratteri Naturali e Reali positivi Interi Razionali](https://reader036.vdocuments.mx/reader036/viewer/2022062418/5542eb75497959361e8def9d/html5/thumbnails/40.jpg)
Complemento a due su 3 e 4 bit
![Page 41: Rappresentazione dell’Informazione. Rappresentazione delle informazioni in codice binario Caratteri Naturali e Reali positivi Interi Razionali](https://reader036.vdocuments.mx/reader036/viewer/2022062418/5542eb75497959361e8def9d/html5/thumbnails/41.jpg)
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
![Page 42: Rappresentazione dell’Informazione. Rappresentazione delle informazioni in codice binario Caratteri Naturali e Reali positivi Interi Razionali](https://reader036.vdocuments.mx/reader036/viewer/2022062418/5542eb75497959361e8def9d/html5/thumbnails/42.jpg)
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
![Page 43: Rappresentazione dell’Informazione. Rappresentazione delle informazioni in codice binario Caratteri Naturali e Reali positivi Interi Razionali](https://reader036.vdocuments.mx/reader036/viewer/2022062418/5542eb75497959361e8def9d/html5/thumbnails/43.jpg)
Da k a -k
![Page 44: Rappresentazione dell’Informazione. Rappresentazione delle informazioni in codice binario Caratteri Naturali e Reali positivi Interi Razionali](https://reader036.vdocuments.mx/reader036/viewer/2022062418/5542eb75497959361e8def9d/html5/thumbnails/44.jpg)
Metodo alternativo: codifica e decodifica Intero positivo x complemento a due su n bit:
se x 2n-1-1 scrivo (x)2 , altrimenti non e’ rappresentabile Esempio: n=4, x=5, (5)2=0101, x=8>23-1=7
Intero negativo –x complemento a due su n bit: se –x -2n-1 calcolo 2n+(-x)=y e scrivo (y)2
Esempio: n=4, –x=-3 y=24-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-2n Esempio 1010 = (10)2 10-16=-6
![Page 45: Rappresentazione dell’Informazione. Rappresentazione delle informazioni in codice binario Caratteri Naturali e Reali positivi Interi Razionali](https://reader036.vdocuments.mx/reader036/viewer/2022062418/5542eb75497959361e8def9d/html5/thumbnails/45.jpg)
Somma in complemento a due
Si utilizza il solito metodo Anche per sottrazione basta avere i
circuiti per somma e complementoEs. (4 bit): 7-5 = 7 +(-5) = 0111 + 1011 = 00105 = 0101 -5 = 1011L’eventuale n+1-simo bit generato a sinistra
dal riporto deve essere troncatoEsempio 0111+1011=10010
7 -5 2
![Page 46: Rappresentazione dell’Informazione. Rappresentazione delle informazioni in codice binario Caratteri Naturali e Reali positivi Interi Razionali](https://reader036.vdocuments.mx/reader036/viewer/2022062418/5542eb75497959361e8def9d/html5/thumbnails/46.jpg)
Esempi di somme
![Page 47: Rappresentazione dell’Informazione. Rappresentazione delle informazioni in codice binario Caratteri Naturali e Reali positivi Interi Razionali](https://reader036.vdocuments.mx/reader036/viewer/2022062418/5542eb75497959361e8def9d/html5/thumbnails/47.jpg)
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: 0101+0100=1001, 5+4=-7 Sommando due negativi viene un numero che inizia
per 0: 1011+1100= (1)0111, -5+(-4)= 7
Nei computer c’e’ overflow con valori superiori a 2.147.483.647= 231
![Page 48: Rappresentazione dell’Informazione. Rappresentazione delle informazioni in codice binario Caratteri Naturali e Reali positivi Interi Razionali](https://reader036.vdocuments.mx/reader036/viewer/2022062418/5542eb75497959361e8def9d/html5/thumbnails/48.jpg)
Esercizi
Da complemento a 2 a base 10:00011, 01111, 11100, 11010, 00000, 10000
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
![Page 49: Rappresentazione dell’Informazione. Rappresentazione delle informazioni in codice binario Caratteri Naturali e Reali positivi Interi Razionali](https://reader036.vdocuments.mx/reader036/viewer/2022062418/5542eb75497959361e8def9d/html5/thumbnails/49.jpg)
Correzioni Da complemento a 2 a base 10:
00011 3, 01111 15, 11100 -4, 11010 -6, 00000 0, 10000 -16
Da base 10 a complemento a 2 su 8 bit: 6, -6, 13, -1, 0 00000110, 11111010, 00001101, 11111111, 00000000
Numero piu’ grande e piu’ piccolo per la notazione in complemento a 2 su 4, 6, 8 bit Numero piu’ piccolo -2n-1 (n=6 -25 = -32) Numero piu’ grande 2n-1 -1 (n=6 25-1 = 31)
![Page 50: Rappresentazione dell’Informazione. Rappresentazione delle informazioni in codice binario Caratteri Naturali e Reali positivi Interi Razionali](https://reader036.vdocuments.mx/reader036/viewer/2022062418/5542eb75497959361e8def9d/html5/thumbnails/50.jpg)
Notazione in eccesso
n bit 2n 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:
01000 n zeri codifica -2n-1: - 2 4-1 = -8 0000 (0-8 = -8)
n uni codifica 2n-1 – 1: 2 4-1-1= 7 1111 (15-8 = +7)
n bit: notazione in eccesso 2n-1 rispetto al corrispondente binario Es.: 4 bit, notazione in eccesso 8
![Page 51: Rappresentazione dell’Informazione. Rappresentazione delle informazioni in codice binario Caratteri Naturali e Reali positivi Interi Razionali](https://reader036.vdocuments.mx/reader036/viewer/2022062418/5542eb75497959361e8def9d/html5/thumbnails/51.jpg)
Notazione in eccesso 8
![Page 52: Rappresentazione dell’Informazione. Rappresentazione delle informazioni in codice binario Caratteri Naturali e Reali positivi Interi Razionali](https://reader036.vdocuments.mx/reader036/viewer/2022062418/5542eb75497959361e8def9d/html5/thumbnails/52.jpg)
Esercizi
Da eccesso 8 a decimale:1110, 0111, 1000,0010, 0000, 1001
Da decimale a eccesso 85, -5, 3, 0, 7, -8
Numero piu’ grande e piu’ piccolo per la notazione in eccesso 8, 16, 32
![Page 53: Rappresentazione dell’Informazione. Rappresentazione delle informazioni in codice binario Caratteri Naturali e Reali positivi Interi Razionali](https://reader036.vdocuments.mx/reader036/viewer/2022062418/5542eb75497959361e8def9d/html5/thumbnails/53.jpg)
Correzioni (1) Da eccesso 8 a decimale:
1110 14-8=6 0111 7-8=-1 1000, 0010, 0000, 1001 0, -6, -8, 1
Da decimale a eccesso 8 5 5+8 13 1101 -5 -5+8 3 0011 3, 0, 7, -8 1011, 1000, 1111, 0000
![Page 54: Rappresentazione dell’Informazione. Rappresentazione delle informazioni in codice binario Caratteri Naturali e Reali positivi Interi Razionali](https://reader036.vdocuments.mx/reader036/viewer/2022062418/5542eb75497959361e8def9d/html5/thumbnails/54.jpg)
Correzioni (2)
Numero piu’ grande e piu’ piccolo per la notazione in eccesso 8, 16, 32
eccesso 8: 8=2n-1 n=4 numero piu’ piccolo: -8, numero piu’ grande 7
eccesso 16: 16=2n-1 n=5 numero piu’ piccolo: -16 numero piu’ grande 15
eccesso 32: 32=2n-1 n=6 numero piu’ piccolo: -32 numero piu’ grande 31
![Page 55: Rappresentazione dell’Informazione. Rappresentazione delle informazioni in codice binario Caratteri Naturali e Reali positivi Interi Razionali](https://reader036.vdocuments.mx/reader036/viewer/2022062418/5542eb75497959361e8def9d/html5/thumbnails/55.jpg)
Rappresentazione dei numeri reali(floating point)
![Page 56: Rappresentazione dell’Informazione. Rappresentazione delle informazioni in codice binario Caratteri Naturali e Reali positivi Interi Razionali](https://reader036.vdocuments.mx/reader036/viewer/2022062418/5542eb75497959361e8def9d/html5/thumbnails/56.jpg)
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}
![Page 57: Rappresentazione dell’Informazione. Rappresentazione delle informazioni in codice binario Caratteri Naturali e Reali positivi Interi Razionali](https://reader036.vdocuments.mx/reader036/viewer/2022062418/5542eb75497959361e8def9d/html5/thumbnails/57.jpg)
Da floating point a decimale 01101011 1. Segno: 0 positivo, 1 negativo2. Anteporre 0, alla mantissa
01101011 0,1011
3. Interpretare l’ esponente come un numero in eccesso su tre bit (eccesso 4) 1106, 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
![Page 58: Rappresentazione dell’Informazione. Rappresentazione delle informazioni in codice binario Caratteri Naturali e Reali positivi Interi Razionali](https://reader036.vdocuments.mx/reader036/viewer/2022062418/5542eb75497959361e8def9d/html5/thumbnails/58.jpg)
Altro esempio di decodifica
10111100 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
![Page 59: Rappresentazione dell’Informazione. Rappresentazione delle informazioni in codice binario Caratteri Naturali e Reali positivi Interi Razionali](https://reader036.vdocuments.mx/reader036/viewer/2022062418/5542eb75497959361e8def9d/html5/thumbnails/59.jpg)
Da decimale a floating point1. Da decimale a binario:
0.375 (=3/8) 0,011
2. La mantissa si ottiene dall’1 piu’ a sinistra completando con zeri i quattro bit 1100
3. 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 -1
4. Codificare il numero ottenuto in eccesso 4 -1 +4= 3 011
5. Mettere nel bit piu’ significativo il bit di segno 00111100
![Page 60: Rappresentazione dell’Informazione. Rappresentazione delle informazioni in codice binario Caratteri Naturali e Reali positivi Interi Razionali](https://reader036.vdocuments.mx/reader036/viewer/2022062418/5542eb75497959361e8def9d/html5/thumbnails/60.jpg)
Errori di troncamento
Codifichiamo 2 + 5/8= 2.625 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: 01101010, che rappresenta 2.5 e non 2
+ 5/8 Infatti: 0,1010 110 (2) 10,10 2+ ½ = 2.5
![Page 61: Rappresentazione dell’Informazione. Rappresentazione delle informazioni in codice binario Caratteri Naturali e Reali positivi Interi Razionali](https://reader036.vdocuments.mx/reader036/viewer/2022062418/5542eb75497959361e8def9d/html5/thumbnails/61.jpg)
Esercizi
Decodifica: 01001010, 01101101, 00111001
Codifica: 2.75, 5.25 Qual e’ il piu’ grande tra 01001001 e
00111101?
![Page 62: Rappresentazione dell’Informazione. Rappresentazione delle informazioni in codice binario Caratteri Naturali e Reali positivi Interi Razionali](https://reader036.vdocuments.mx/reader036/viewer/2022062418/5542eb75497959361e8def9d/html5/thumbnails/62.jpg)
Correzioni (1)
Decodifica: 0 100 1010 5/8 = 0.625 Infatti:
0 100 1010 --> positivo0,1010 100 --> 4-4=00.10101/2+1/8= 5/8 = 0.625 --> 0.625
Codifica: 2.75 --> 0 110 1011 Infatti: binario 10,11 1011 --> 2 posti a dx 2 --> 110 0 110 1011
![Page 63: Rappresentazione dell’Informazione. Rappresentazione delle informazioni in codice binario Caratteri Naturali e Reali positivi Interi Razionali](https://reader036.vdocuments.mx/reader036/viewer/2022062418/5542eb75497959361e8def9d/html5/thumbnails/63.jpg)
Correzioni (2)
Decodifica: 0 110 1101 3 + 1/4 = 13/4 = 3.25 0 011 1001 9/32
Codifica: 5.25 0 111 1010 Qual e’ il piu’ grande tra 01001001 e 00111101? Il primo e’ 0.56, il secondo e’ 0.40 il piu’ grande e’ il
primo