1 corso di informatica (programmazione) lezione 2 (10 ottobre 2008) codifica binaria degli interi...

24
1 Corso di Informatica (Programmazione) Lezione 2 (10 ottobre 2008) Codifica binaria degli interi con segno in Complemento a 1 Codifica binaria degli interi con segno in Complemento a 2 Somma algebrica in Complemento a 2 Codifica dei caratteri

Upload: pio-ferro

Post on 01-May-2015

227 views

Category:

Documents


4 download

TRANSCRIPT

Page 1: 1 Corso di Informatica (Programmazione) Lezione 2 (10 ottobre 2008) Codifica binaria degli interi con segno in Complemento a 1 Codifica binaria degli interi

1

Corso di Informatica

(Programmazione)Lezione 2 (10 ottobre 2008)

Codifica binaria degli interi con segnoin Complemento a 1

Codifica binaria degli interi con segnoin Complemento a 2

Somma algebrica in Complemento a 2

Codifica dei caratteri

Page 2: 1 Corso di Informatica (Programmazione) Lezione 2 (10 ottobre 2008) Codifica binaria degli interi con segno in Complemento a 1 Codifica binaria degli interi

2

Codifica binaria degli interi con segno

Codifica in “Complemento a 1”

n bit

La sequenza dei bit del modulo è:

- quella che fornisce il modulo dell’intero da rappresentare se l’intero è positivo

- il complemento della sequenza che fornisce il modulo dell’intero da rappresentare se l’intero è negativo

Page 3: 1 Corso di Informatica (Programmazione) Lezione 2 (10 ottobre 2008) Codifica binaria degli interi con segno in Complemento a 1 Codifica binaria degli interi

3

Codifica binaria degli interi con segno

Esempio: codifica in “Complemento a 1” (n=8 bit)

+50 0 0 0 1 0 10

-51 1 1 1 0 1 01

Il complemento di unasequenza di bit è la sequenza

che si ottiene sostituendo0 con 1 e 1 con 0

La negazione di un numero siottiene complementando bit del

segno e bit del modulo

Page 4: 1 Corso di Informatica (Programmazione) Lezione 2 (10 ottobre 2008) Codifica binaria degli interi con segno in Complemento a 1 Codifica binaria degli interi

4

Codifica binaria degli interi con segno

Intervallo di rappresentazione della codifica

in “Complemento a 1”

n bit

Gli interi con segno rappresentabili in

“Complemento a 1” vanno da (-2n-1+1) a (2n-1-1).

Ad esempio per n=8 bit l’intervallo va da -127 a

127.

Page 5: 1 Corso di Informatica (Programmazione) Lezione 2 (10 ottobre 2008) Codifica binaria degli interi con segno in Complemento a 1 Codifica binaria degli interi

5

Codifica binaria degli interi con segno

Vantaggi della codifica in “Complemento a 1”

- semplice implementazione della somma (valgono

le regole viste in precedenza)

- la sottrazione viene trattata come la somma

Svantaggio della codifica in “Complemento a 1”

- doppia rappresentazione dello 0

(1|11…11 e 0|00…00)

Page 6: 1 Corso di Informatica (Programmazione) Lezione 2 (10 ottobre 2008) Codifica binaria degli interi con segno in Complemento a 1 Codifica binaria degli interi

6

Codifica binaria degli interi con segno

Esempio: codifica in “Complemento a 1” (n=8 bit)

dal momento che l’intero codificato è positivo (bit

del segno a 0), per trovare il modulo basta eseguire

la somma di potenze relative al bit del modulo:

1 x 20 + 1 x 22 + 1 x 24 + 1 x 26 = 85 +85

0 1 0 1 1 0 10

Page 7: 1 Corso di Informatica (Programmazione) Lezione 2 (10 ottobre 2008) Codifica binaria degli interi con segno in Complemento a 1 Codifica binaria degli interi

7

Codifica binaria degli interi con segno

Esempio: codifica in “Complemento a 1” (n=8 bit)

dal momento che l’intero codificato è negativo (bit

del segno a 1), per trovare il modulo, prima di eseguire

la somma di potenze, i bit del modulo vanno

complementati 0 1 0 1 0 1 0

1 x 21 + 1 x 23 + 1 x 25 = 42 -42

1 1 0 1 1 0 10

Page 8: 1 Corso di Informatica (Programmazione) Lezione 2 (10 ottobre 2008) Codifica binaria degli interi con segno in Complemento a 1 Codifica binaria degli interi

8

Codifica binaria degli interi con segno

Codifica in “Complemento a 2”

n bit

La sequenza dei bit del modulo è:

- quella che fornisce il modulo dell’intero da rappresentare se l’intero è positivo

- il complemento della sequenza che fornisce il modulo dell’intero da rappresentare se l’intero è negativo, con l’aggiunta di 1

Page 9: 1 Corso di Informatica (Programmazione) Lezione 2 (10 ottobre 2008) Codifica binaria degli interi con segno in Complemento a 1 Codifica binaria degli interi

9

Codifica binaria degli interi con segno

Esempio: codifica in “Complemento a 2” (n=8 bit)

+50 0 0 0 1 0 10

-5

1 1 1 1 0 1 01

0 0 0 0 0 0 10

1 1 1 1 0 1 11

La negazione di un numero siottiene complementando bit del

segno e bit del modulo eaggiungendo 1 al modulo

+1

Page 10: 1 Corso di Informatica (Programmazione) Lezione 2 (10 ottobre 2008) Codifica binaria degli interi con segno in Complemento a 1 Codifica binaria degli interi

10

Codifica binaria degli interi con segno

Intervallo di rappresentazione della codifica

in “Complemento a 2”

n bit

Gli interi con segno rappresentabili in

“Complemento a 2” vanno da (-2n-1) a (2n-1-1).

Ad esempio per n=8 bit l’intervallo va da -128 a

127.

Page 11: 1 Corso di Informatica (Programmazione) Lezione 2 (10 ottobre 2008) Codifica binaria degli interi con segno in Complemento a 1 Codifica binaria degli interi

11

Codifica binaria degli interi con segno

Vantaggi della codifica in “Complemento a 2”

- semplice implementazione della somma (valgono

le regole viste in precedenza)

- la sottrazione viene trattata come la somma

- singola rappresentazione dello 0 (0|00…00); la

sequenza 1|00…00 in “Complemento a 2” rappresenta

infatti l’intero -2n-1

Page 12: 1 Corso di Informatica (Programmazione) Lezione 2 (10 ottobre 2008) Codifica binaria degli interi con segno in Complemento a 1 Codifica binaria degli interi

12

Codifica binaria degli interi con segno

Esempio: codifica in “Complemento a 2” (n=8 bit)

dal momento che l’intero codificato è positivo (bit

del segno a 0), per trovare il modulo basta eseguire

la somma di potenze relative al bit del modulo:

1 x 20 + 1 x 22 + 1 x 24 + 1 x 26 = 85 +85

0 1 0 1 1 0 10

Page 13: 1 Corso di Informatica (Programmazione) Lezione 2 (10 ottobre 2008) Codifica binaria degli interi con segno in Complemento a 1 Codifica binaria degli interi

13

Codifica binaria degli interi con segno

Esempio: codifica in “Complemento a 2” (n=8 bit)

dal momento che l’intero codificato è negativo (bit

del segno a 1), per trovare il modulo, prima di eseguire

la somma di potenze, i bit del modulo vanno

complementati ( 0 1 0 1 0 1 0). Poi si aggiunge 1

1 x 21 + 1 x 23 + 1 x 25 = 42 43 -43

1 1 0 1 1 0 10

Page 14: 1 Corso di Informatica (Programmazione) Lezione 2 (10 ottobre 2008) Codifica binaria degli interi con segno in Complemento a 1 Codifica binaria degli interi

14

Somma algebrica in “Complemento a 2”

Per eseguire la somma tra due interi

in “Complemento a 2” con n bit si

esegue la somma bit a bit dei due

numeri ignorando sempre l’eventuale

riporto che cade oltre il bit più

significativo

Page 15: 1 Corso di Informatica (Programmazione) Lezione 2 (10 ottobre 2008) Codifica binaria degli interi con segno in Complemento a 1 Codifica binaria degli interi

15

Codifica binaria degli interi senza segno

Esempio: somma di interi in “Complemento a 2”

con 4 bit intervallo di rappresentazione [-8, +7]

0 0 11 -7

+20 1 00

0 1 11 -5

Somma senza riporto risultato corretto

Page 16: 1 Corso di Informatica (Programmazione) Lezione 2 (10 ottobre 2008) Codifica binaria degli interi con segno in Complemento a 1 Codifica binaria degli interi

16

Codifica binaria degli interi senza segno

Esempio: somma di interi in “Complemento a 2”

con 4 bit intervallo di rappresentazione [-8, +7]

1 1 10 +7

-21 1 01

1 0 10 +5

Somma con riporto risultato corretto

1

Page 17: 1 Corso di Informatica (Programmazione) Lezione 2 (10 ottobre 2008) Codifica binaria degli interi con segno in Complemento a 1 Codifica binaria degli interi

17

Codifica binaria degli interi senza segno

Esempio: somma di interi in “Complemento a 2”

con 4 bit intervallo di rappresentazione [-8, +7]

1 1 10 +7

+20 1 00

0 0 11 +9

Somma senza riporto risultato errato

Page 18: 1 Corso di Informatica (Programmazione) Lezione 2 (10 ottobre 2008) Codifica binaria degli interi con segno in Complemento a 1 Codifica binaria degli interi

18

Codifica binaria degli interi senza segno

Esempio: somma di interi in “Complemento a 2”

con 4 bit intervallo di rappresentazione [-8, +7]

0 0 11 -7

-21 1 01

1 1 10 -9

Somma con riporto risultato errato

1

Page 19: 1 Corso di Informatica (Programmazione) Lezione 2 (10 ottobre 2008) Codifica binaria degli interi con segno in Complemento a 1 Codifica binaria degli interi

19

Codifica binaria di oggetti

In generale con n bit si possono codificare 2n oggettiAd esempio se si vogliono codificare i 7 giorni

della settimana si possono usare n=3 bit (23

oggetti) e porre:

000 lunedì; 001 martedì

010 mercoledì; 100 giovedì

011 venerdì; 101 sabato;

110 domenica

Page 20: 1 Corso di Informatica (Programmazione) Lezione 2 (10 ottobre 2008) Codifica binaria degli interi con segno in Complemento a 1 Codifica binaria degli interi

20

Codifica binaria di oggetti

In generale se si ha il problema di

rappresentare N oggetti, si deve

selezionare un numero n di bit tale che:

2n >= N

Page 21: 1 Corso di Informatica (Programmazione) Lezione 2 (10 ottobre 2008) Codifica binaria degli interi con segno in Complemento a 1 Codifica binaria degli interi

21

Codifica binaria dei caratteri

I caratteri da codificare sono:Lettere maiuscole e minuscole A-Z a a-z

Cifre numeriche 0-9

Simboli di punteggiatura , . ; : ! ? etc.

Simboli matematici + - / * etc.

Altri caratteri

Page 22: 1 Corso di Informatica (Programmazione) Lezione 2 (10 ottobre 2008) Codifica binaria degli interi con segno in Complemento a 1 Codifica binaria degli interi

22

Codifica binaria dei caratteri (codice ASCII)

US-ASCII (American Standard Code for Information Interchange)

E’ un sistema a 7 bit e codifica 128 caratteri tramite gli interi da 0 a 127:

da 48 a 57 cifre numeriche

da 65 a 90 lettere maiuscole

da 97 a 122 lettere minuscole

Da Wikipedia: http://it.wikipedia.org/wiki/ASCII

Page 23: 1 Corso di Informatica (Programmazione) Lezione 2 (10 ottobre 2008) Codifica binaria degli interi con segno in Complemento a 1 Codifica binaria degli interi

23

Codifica binaria dei caratteri (codice ASCII)

High ASCII

E’ un sistema a 8 bit (256 caratteri) ed estende US-ASCII per:

caratteri speciali non inclusi in US-ASCII

lingue straniere (orientali e slave)

Da Wikipedia: http://it.wikipedia.org/wiki/ASCII

Page 24: 1 Corso di Informatica (Programmazione) Lezione 2 (10 ottobre 2008) Codifica binaria degli interi con segno in Complemento a 1 Codifica binaria degli interi

24

Codifica binaria dei caratteri (codice UNICODE)

UNICODE

E’ un sistema a 16 bit e codifica 65536 caratteri e comprende:

quasi tutti i sistemi di scrittura attualmente utilizzati

glifi appartenenti a molte lingue morte

simboli matematici

simboli musicali

Da Wikipedia: http://it.wikipedia.org/wiki/Unicode