• Non ci sono risultati.

L'informazione e la sua codifica

N/A
N/A
Protected

Academic year: 2021

Condividi "L'informazione e la sua codifica"

Copied!
42
0
0

Testo completo

(1)

L'informazione e la

L'informazione e la

sua codifica

sua codifica

Corso di Informatica

Corso di Informatica

CdL:

CdL:

Chimica

Chimica

Claudia d'Amato

Claudia d'Amato

claudia.damato@di.uniba.it claudia.damato@di.uniba.it

(2)

Informatica - Claudia d'Amato 2

Informatica e telecomunicazione

Informatica e telecomunicazione

Cos’è l’

Cos’è l’

informatica

informatica

?

?

• lo studio sistematico degli algoritmi che descrivono e trasformano l’informazione: la loro teoria, analisi, progetto, efficienza, realizzazione e applicazione

[ACM – Association for Computing Machinery]

la scienza della rappresentazione e dell’elaborazione la scienza della rappresentazione e dell’elaborazione dell’informazione

dell’informazione

Cos’è la

Cos’è la

telecomunicazione

telecomunicazione

?

?

• la trasmissione rapida a rapida distanza dell’informazionedistanza

Attenzione:

Attenzione:

NonNon si parla di tecnologia dei calcolatoricalcolatori !

(3)

Informazione e supporto

Informazione e supporto

L’informazione è “

L’informazione è “

portata da

portata da

”, o “

”, o “

trasmessa

trasmessa

su

su

”, o “

”, o “

memorizzata in

memorizzata in

”, o “

”, o “

contenuta in

contenuta in

qualcosa; questo “

qualcosa; questo “

qualcosa

qualcosa

” però non è

” però non è

l’informazione stessa.

l’informazione stessa.

Ogni supporto ha le sue caratteristiche in

Ogni supporto ha le sue caratteristiche in

quanto mezzo su cui può essere scritta

quanto mezzo su cui può essere scritta

dell’informazione.

(4)

Informatica - Claudia d'Amato 4

Informazione e supporti /2

Informazione e supporti /2

La stessa informazione può essere scritta

La stessa informazione può essere scritta

su

su supporti differenti

supporti differenti

.

.

10

10

9

11

8

6

7

(5)

Informazione e supporto /4

Informazione e supporto /4

Distinguere informazione e supporto fisico è

Distinguere informazione e supporto fisico è

distinguere tra “

distinguere tra “

entità logiche

entità logiche

” ed “

” ed “

entità

entità

fisiche

fisiche

”:

”:

• l’informazione richiede un supporto fisico

richiede un supporto fisico

, ma

non coincide con esso;

• l’informazione è un’entità extra‑fisica

extra‑fisica

, non

interpretabile in termini di materia‑energia e

sottoposta alle leggi della fisica solo perché basata

su un supporto fisico.

(6)

Informatica - Claudia d'Amato 7

Caratteristiche di un sistema fisico per

Caratteristiche di un sistema fisico per

supportare informazioni

supportare informazioni

CODIFICA:

CODIFICA:

l'operazione formalizzazione e

l'operazione formalizzazione e

scrittura dell'infomazione su supporto fisico

scrittura dell'infomazione su supporto fisico

DECODIFICA:

DECODIFICA:

l'operazione di interpretazione

l'operazione di interpretazione

e lettura dell'informazione da supporto fisico

e lettura dell'informazione da supporto fisico

Condizione necessaria

Condizione necessaria

perché un supporto

perché un supporto

possa portare informazione è che possa

possa portare informazione è che possa

assumere

assumere

configurazioni differenti

configurazioni differenti

, a ognuna

, a ognuna

delle quali venga associata una differente

delle quali venga associata una differente

entità di informazione

(7)

Supporto fisico: 1

Supporto fisico: 1

a

a

condizione

condizione

Deve consentire di

Deve consentire di

potere identificare

potere identificare

delle differenze

delle differenze

• Es: voglio rappresentare 2 alternative

Cosa rappresenta

Cosa

rappresenta

ciascuna

ciascuna

configurazione?

(8)

Informatica - Claudia d'Amato 9

Configurazioni e codici

Configurazioni e codici

Per interpretare le differenti configurazioni del

supporto è necessario conoscere il

codice

(cioè la

regola) che a ogni

configurazione ammessa associa

un’entità di informazione

.

La definizione di un

codice

comporta che siano

identificati in modo

non ambiguo

l’insieme delle

possibili configurazioni

del supporto e l’insieme

delle

possibili entità di informazione

a cui ci si

vuole riferire.

Variando il codice è possibile riferirsi a entità di

informazione differenti utilizzando uno stesso

supporto fisico

.

(9)

CODICE

Supporto fisico: 2a condizione

Supporto fisico: 2a condizione

Deve essere

Deve essere

condivisa

condivisa

una regola per

una regola per

attribuire un

attribuire un

significato

significato

a ciascuna

a ciascuna

configurazione

configurazione

Configurazione 1 Entità di informazione 1 Configurazione 2 Entità di informazione 2

(10)

Informatica - Claudia d'Amato 11

Definire un codice

Definire un codice

Identificare

Identificare

• { Configurazioni } • { Entità informazione }

Associare gli elementi

Associare gli elementi

dei 2 insiemi

(11)

Il telegrafo...

Il telegrafo...

Supporto fisico

Supporto fisico

: conduttore in cui transita corrente

: conduttore in cui transita corrente

continua

continua

Entità di informazione

Entità di informazione

: “punti” e “linee”, che

: “punti” e “linee”, che

rappresentano le lettere dell’alfabeto

rappresentano le lettere dell’alfabeto

Codice

Codice

= regola che specifica la corrispondenza:

= regola che specifica la corrispondenza:

• passa corrente per 1 s

punto

• passa corrente per 2 s

linea

• non passa corrente per 1 s

separazione tra punti e

linee della stessa lettera

• non passa corrente per 2 s

separazione tra due

lettere

passa corrente per 1 s, non passa per 1 s, passa per

passa corrente per 1 s, non passa per 1 s, passa per

2 s” = “punto line

(12)

Informatica - Claudia d'Amato 13

...Il telegrafo

...Il telegrafo

Codice Morse

Codice Morse

= relazione tra lettere e sequenze di

= relazione tra lettere e sequenze di

punti linee:

punti linee:

• punto linea

lettera “A”

• linea punto punto punto

lettera “B”

• linea punto linea punto

lettera “C”

• ecc.

(13)

Messaggi vs configurazione

Messaggi vs configurazione

Configurazione del supporto fisicoConfigurazione del supporto fisico (livello fisico, (livello fisico, LFLF):):

• passa corrente per 2s, non passa per 1s, passa per 1s, non passa per 2s, passa per 2s, non passa per 1s, passa per 2s, non passa per 1s, passa per 2s

messaggiomessaggio, al livello logico 1 (, al livello logico 1 (LL1LL1):):

• linea punto, separazione di lettera, linea linea linea

messaggiomessaggio, al livello Logico 2 (, al livello Logico 2 (LL2LL2):):

• “N” “O”

messaggiomessaggio, al livello Logico 3 (, al livello Logico 3 (LL3LL3):):

• “NO”, con il significato (per esempio) di “incontro non confermato”

Le relazioni tra questi livelli definiscono ognuna un codice Le relazioni tra questi livelli definiscono ognuna un codice

per interpretare il significato delle entità che compaiono al

per interpretare il significato delle entità che compaiono al

livello precedente in termini delle entità del livello

livello precedente in termini delle entità del livello

successivo: sono relazioni di significazione.

(14)

Informatica - Claudia d'Amato 15

Livelli di informazione

Livelli di informazione

Informazione

Informazione

sintattica

sintattica

Rappresentazione in simboli dell'informazione

Informazione

Informazione

semantica

semantica

Determinazione del significato della informazione

rappresentata

Informazione

Informazione

pragmatica

pragmatica

Determinazione del valore da attribuire

all'informazione, considerata la sua

(15)

La codifica dell’informazione

(16)

Informatica - Claudia d'Amato 18

Codifica dati e istruzioni

Codifica dati e istruzioni

Algoritmo

Algoritmo

descrizionedescrizione della soluzione di problemasoluzione di problema scritta in modo da poter essere eseguita da un esecutoreesecutore (eventualmente diverso dall’autore dell’algoritmo)

• sequenza di istruzioniistruzioni che operano su datidati.

Programma

Programma

algoritmo algoritmo scritto in modo da poter essere eseguito da un calcolatore

calcolatore (esecutore automatico)

Per scrivere un

Per scrivere un

programma

programma

è necessario

è necessario

rappresentare

rappresentare

istruzioni

istruzioni

e

e

dati

dati

in un formato tale

in un formato tale

che

che

l’esecutore automatico

l’esecutore automatico

sia capace di

sia capace di

memorizzare

(17)

Rappresentare dati e istruzioni

Rappresentare dati e istruzioni

per il processing di un esecutore

per il processing di un esecutore

automatico

automatico

Alfabeto dei simboliAlfabeto dei simboli

• cifre “0”, “1”, …, “9”, separatore decimale (“,”), separatore delle migliaia (“.”) e segni positivo (“+”) o negativo (“”).

Regole di composizioneRegole di composizione (sintassi), che definiscono le (sintassi), che definiscono le

successioni “ben formate”

successioni “ben formate”

• “1.234,5” è la rappresentazione di un numero; • “1,23,45” non lo è.

CodiceCodice (semantica)(semantica)

• “1.234,5” = 1×103 + 2×102 + 3×101 + 4×100 + 5×10–1

• “1,23,45” = ??

Lo stesso alfabeto può essere utilizzato con codici diversi:Lo stesso alfabeto può essere utilizzato con codici diversi:

• “123,456” = 1×102 + 2×101 + 3×100 + 4×10–1 + 5×10–2 + 6×10–3, [IT]

(18)

Informatica - Claudia d'Amato 20

Codifica Binaria

Codifica Binaria

Alfabeto binarioAlfabeto binario: usiamo dispositivi con solo due stati: usiamo dispositivi con solo due stati

Problema: assegnare un Problema: assegnare un codice univococodice univoco a tutti gli oggetti a tutti gli oggetti

compresi in un insieme predefinito

compresi in un insieme predefinito

Quanti Quanti oggettioggetti posso codificare con posso codificare con kk bit: 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 Quanti bitbit mi servono per codificare mi servono per codificare NN oggetti: oggetti:

• N ≤ 2k ⇒ k ≥ log

2N ⇒ k = k = loglog22NN (intero superiore)

Attenzione:Attenzione:

ipotesi implicita che i codici abbiano tutti la

(19)

Esempio di codifica binaria

Esempio di codifica binaria

Problema:Problema:

assegnare un codice binario univoco a tutti i giorni della

assegnare un codice binario univoco a tutti i giorni della

settimana

settimana

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

Con 3 bit possiamo ottenere 8 diverse configurazioni:Con 3 bit possiamo ottenere 8 diverse configurazioni:

• Ne servono 7, quali utilizziamo?

• Quale configurazione associamo a quale giorno?

Attenzione:Attenzione:

ipotesi che i codici abbiano tutti la stessa lunghezza

(20)

Informatica - Claudia d'Amato 22

I giorni della settimana in binario /1

I giorni della settimana in binario /1

1 bit

2 “gruppi” 4 “gruppi”2 bit 8 “gruppi”3 bit

Lunedì Martedì Mercoledì Giovedì Venerdì Sabato Domenica 000 001 010 011 100 101 111 110 Lunedì Martedì Mercoledì Giovedì Venerdì Sabato Domenica 00 01 10 11 Lunedì Martedì Mercoledì Giovedì Venerdì Sabato Domenica 0 1 Lunedì Martedì Mercoledì Giovedì Venerdì Sabato Domenica

(21)

I giorni della settimana in binario /2

I giorni della settimana in binario /2

1 bit

2 “gruppi” 4 “gruppi”2 bit 8 “gruppi”3 bit

Lunedì Martedì Mercoledì Giovedì Venerdì Sabato Domenica 000 001 010 011 100 101 111 110 Lunedì Martedì Mercoledì Giovedì Venerdì Sabato Domenica 00 01 10 11 Lunedì Martedì Mercoledì Giovedì Venerdì Sabato Domenica 0 1 Lunedì Martedì Mercoledì Giovedì Venerdì Sabato Domenica

(22)

Informatica - Claudia d'Amato 24

Codifica binaria dei caratteri

Codifica binaria dei caratteri

Quanti sono gli oggetti compresi nell’insieme?

Quanti sono gli oggetti compresi 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 =

log

log

22

120

120

= 7

= 7

Codice ASCII: utilizza 7 bit e quindi può

Codice ASCII: utilizza 7 bit e quindi può

rappresentare al massimo 2

rappresentare al massimo 2

77

=128 caratteri

=128 caratteri

• Con 8 bit (= byte) rappresento 256 caratteri (ASCII esteso) • Si stanno diffondendo codici più estesi (e.g. UNICODE) per

(23)

ASCII su 7 bit (alcune configurazioni)

ASCII su 7 bit (alcune configurazioni)

canc ~ } | { z Y x w v u t s r q p 111 o n m l k j I h g f e d c b a ` 110 _ ^ ] \ [ Z Y X W V U T S R Q P 101 O N M L K J I H G F E D C B A @ 100 ? > = < ; : 9 8 7 6 5 4 3 2 1 0 011 / . -, + * ) ( ' & % $ # " ! sp 010 1 1 1 1 1 1 1 0 1 1 0 1 1 1 0 0 1 0 1 1 1 0 1 0 1 0 0 1 1 0 0 0 0 1 1 1 0 1 1 0 0 1 0 1 0 1 0 0 0 0 1 1 0 0 1 0 0 0 0 1 0 0 0 0

(24)

Informatica - Claudia d'Amato 26

bit, Byte, KiloByte, MegaByte, …

bit, Byte, KiloByte, MegaByte, …

bit

bit

= solo due stati, “0” oppure “1”.

= solo due stati, “0” oppure “1”.

Byte

Byte

= 8 bit, quindi 2

= 8 bit, quindi 2

88

= 256 stati

= 256 stati

KiloByte

KiloByte

[

[

KB

KB

]

]

= 2

= 2

1010

Byte = 1024 Byte ~ 10

Byte = 1024 Byte ~ 10

33

Byte

Byte

MegaByte

MegaByte

[

[

MB

MB

]

]

= 2

= 2

2020

Byte = 1'048'576 Byte ~ 10

Byte = 1'048'576 Byte ~ 10

66

Byte

Byte

GigaByte

GigaByte

[

[

GB

GB

]

]

= 2

= 2

3030

Byte ~ 10

Byte ~ 10

99

Byte

Byte

TeraByte

TeraByte

[

[

TB

TB

]

]

= 2

= 2

4040

Byte ~ 10

Byte ~ 10

1212

Byte

Byte

PetaByte

PetaByte

[

[

PB

PB

]

]

= 2

= 2

5050

Byte ~ 10

Byte ~ 10

1515

Byte

Byte

ExaByte

(25)

La codifica delle istruzioni

La codifica delle istruzioni

Si segue lo schema presentato per i caratteri

Si segue lo schema presentato per i caratteri

alfanumerici:

alfanumerici:

• quali e quante sono le istruzioni da codificare?

• qual è la lunghezza delle successioni di bit da utilizzare ? • qual è la corrispondenza tra istruzioni e successioni di bit ?

Istruzioni aritmetico-logiche Istruzioni per il trasferimento dati Istruzioni d i controllo

Cod ice Istruzione Cod ice Istruzione Cod ice Istruzione 0111 1100 ADD 1110 1000 LOAD 0100 1001 IF_EQ 0111 1101 SUB 1111 1000 STORE 0100 1000 GOTO 0111 1110 AND … … … … … … 0100 1100 RETURN

(26)

Informatica - Claudia d'Amato 28

Oltre al codice operativo

Oltre al codice operativo

… … è necessario far riferimento ai datiè necessario far riferimento ai dati necessari per necessari per

completare l’esecuzione dell’istruzione, completare l’esecuzione dell’istruzione,

• e.g. addizione: è necessario che sia specificato (anche implicitamente) dove leggere i due operandi da sommare e dove scrivere il risultato;

il numeroil numero dei dati da specificare è variabile, in funzione dei dati da specificare è variabile, in funzione

delle istruzioni. delle istruzioni.

(27)

Numeri naturali

Numeri naturali

Sistema di numerazione posizionale in base

Sistema di numerazione posizionale in base

b

b

•ckck–1…c0 rappresenta ck×bk + c

k–1×bk–1 + … + c0×b0

•b=10 ⇒ 1101dieci indica 1×103 + 1×102 + 0×10 + 1×100

Conversione

Conversione

binario

binario

decimale

decimale

•basta scrivere il numero secondo la notazione posizionale utilizzando già il sistema decimale

•b=2 ⇒ 1101due indica 1×23 + 1×22 + 0×2 + 1×20 = 13dieci

Conversione

Conversione

decimale

decimale

binario

binario

Metodo delle divisioni successive

(28)

Informatica - Claudia d'Amato 30

Conversione binario

Conversione binario

decimale

decimale

101100due = 1dieci×2dieci5 + 0dieci×24dieci+ 1d ieci×23dieci+ 1dieci×22dieci+ 0d ieci×21dieci+

+ 0d ieci×20dieci =

= 1dieci×32dieci + 0dieci×16dieci + 1dieci×8dieci + 1dieci×4dieci+ 0d ieci×2dieci

+ 0d ieci×1dieci =

= 32dieci + 8dieci + 4dieci =

= 44dieci

101110101due = 1dieci×28dieci+ 0dieci×27dieci+ 1dieci×26dieci+ 1dieci×25dieci+ 1d ieci×24dieci+

0dieci×23dieci+ 1dieci×22dieci+ 0dieci×21dieci+ 1dieci×20dieci =

= 1dieci×256dieci+ 0dieci×128dieci+ 1dieci×64dieci+ 1dieci×32d ieci+

1dieci×16d ieci+ 0dieci×8d ieci+ 1dieci×4dieci+ 0dieci×2dieci+ 1dieci×1d ieci =

= 256dieci+ 64d ieci+ 32dieci+ 16dieci+ 4dieci+ 1dieci =

(29)

Conversione decimale

Conversione decimale

binario

binario

Sistema di numerazione posizionale in base B che, in questo contesto si può Sistema di numerazione posizionale in base B che, in questo contesto si può

ipotizzare diversa da dieci

ipotizzare diversa da dieci

c cn–1n–1ccn–2n–2…c…c11cc00 = c = cn–1n–1××BBn–1n–1 + c + c n–2 n–2××BBn–2n–2 + … + c + … + c11××BB11 + c + c00××BB00 c cn–1n–1ccn–2n–2…c…c11cc00 = c = cn–1n–1××BBn–1n–1 + c + c n–2 n–2××BBn–2n–2 + … + c + … + c11××B + cB + c00 (infatti B (infatti B11 = B e B = B e B00 = 1) = 1)Dividendo il numero per il valore della base, il risultato che si ottiene è:Dividendo il numero per il valore della base, il risultato che si ottiene è:

(c (cn–1n–1××BBn–1n–1 + c + c n–2 n–2××BBn–2n–2 + … + c + … + c11××B + cB + c00)/B =)/B = = c = cn–1n–1××BBn–2n–2 + c + c n–2 n–2××BBn–3n–3 + … + c + … + c11 + c + c00/B/B

che può essere scomposto in modo da evidenziare quoziente e resto:che può essere scomposto in modo da evidenziare quoziente e resto:

quoziente = c quoziente = cn–1n–1×B×Bn–2n–2 + c + c n–2 n–2×B×Bn–3n–3 + … + c + … + c11 resto = c resto = c00

Il resto della divisione corrisponde all’ultima cifra della rappresentazione in Il resto della divisione corrisponde all’ultima cifra della rappresentazione in

base B del numero

base B del numero, ma il suo valore è indipendente dalla base che si utilizza , ma il suo valore è indipendente dalla base che si utilizza per effettuare i conti.

per effettuare i conti.

Applicando lo stesso procedimento al quoziente si ottiene la Applicando lo stesso procedimento al quoziente si ottiene la penultimapenultima cifra cifra

della rappresentazione in base B

della rappresentazione in base B

(30)

Informatica - Claudia d'Amato 33

Conversione

Conversione

decimale

decimale

binario

binario

573

573diecidieci : 2 : 2diecidieci quozientequoziente 286286diecidieci restoresto 11diecidieci 286

286diecidieci : 2 : 2diecidieci quozientequoziente 143143diecidieci restoresto 00diecidieci 143

143diecidieci : 2 : 2diecidieci quozientequoziente 7171diecidieci restoresto 11diecidieci 71

71diecidieci : 2 : 2diecidieci quozientequoziente 3535diecidieci restoresto 11diecidieci 35

35diecidieci : 2 : 2diecidieci quozientequoziente 1717diecidieci restoresto 11diecidieci 17

17diecidieci : 2 : 2diecidieci quozientequoziente 88diecidieci restoresto 11diecidieci 8

8diecidieci : 2 : 2diecidieci quozientequoziente 44diecidieci restoresto 00diecidieci 4

4diecidieci : 2 : 2diecidieci quozientequoziente 22diecidieci restoresto 00diecidieci 2

2diecidieci : 2 : 2diecidieci quozientequoziente 11diecidieci restoresto 00diecidieci 1

1diecidieci : 2 : 2diecidieci quozientequoziente 00diecidieci restoresto 11diecidieci

1 000 111 101

1 000 111 101

duedue

 = 573

 = 573

diecidieci

(cifra binaria meno significativa)

(cifra binaria meno significativa)

(cifra binaria più significativa)

(31)

Conversione

Conversione

decimale

decimale

binario

binario

18 : 2 = 9 18 : 2 = 9 resto 0resto 0 9 : 2 = 4 9 : 2 = 4 resto 1resto 1 4 : 2 = 2 4 : 2 = 2 resto 0resto 0 2 : 2 = 1 2 : 2 = 1 resto 0resto 0 1 : 2 = 0 1 : 2 = 0 resto 1resto 1 137 : 2 = 137 : 2 = 6868 resto 1resto 1 68 : 2 = 68 : 2 = 3434 resto 0resto 0 34 : 2 = 34 : 2 = 1717 resto 0resto 0 17 : 2 = 17 : 2 = 88 resto 1resto 1 8 : 2 = 8 : 2 = 44 resto 0resto 0 4 : 2 = 4 : 2 = 22 resto 0resto 0 2 : 2 = 2 : 2 = 11 resto 0resto 0 1 : 2 = 1 : 2 = 00 resto 1resto 1

Si calcolano i resti delle divisioni per due

10010

(32)

Informatica - Claudia d'Amato 35

Numeri binari: operazioni

Numeri binari: operazioni

Operazioni di somma di numeri binari naturali.Operazioni di somma di numeri binari naturali.

Con gli 8 bit utilizzati negli esempi qui riportati si possono Con gli 8 bit utilizzati negli esempi qui riportati si possono

rappresentare i numeri naturali fino a 255dieci.

rappresentare i numeri naturali fino a 255dieci.

Operazioni che producono un risultato maggiore provocano Operazioni che producono un risultato maggiore provocano

il superamento della capacità di rappresentazione

il superamento della capacità di rappresentazione (indicato (indicato in gergo dal termine inglese

in gergo dal termine inglese overflowoverflow). ).

1

(33)

Ottali ed esadecimali

Ottali ed esadecimali

Utili per rappresentare sinteticamente valori binari

Utili per rappresentare sinteticamente valori binari

Ottali (base b = 8)

Ottali (base b = 8)

• Alfabeto ottale: cifre comprese tra 0 e 7

• 354otto = 3×82 + 5×81 + 4×80 = 192+40+4 = 236dieci

• 1461otto = 1×83 + 4×82 + 6×81 + 1×80 = 512+256+48+1 = 817dieci

• Ogni cifra ottale corrisponde a tre cifre binarie:

• 11101100due = [11] [101] [100] = 354otto

• 1100110001due = [1] [100] [110] [001] = 1461otto

Esadecimali (base b = 16)

Esadecimali (base b = 16)

• Alfabeto esadecimale: cifre 0 – 9 + lettere A – F

• ECsedici = 14×161 + 12×160 = 224 + 12 = 236dieci

• 331sedic = 3×162 + 3×161 + 1×160 = 768+48+1 = 817dieci

• Ogni cifra esadecimale corrisponde a quattro cifre binarie:

• 11101100due = [1110] [1100] = ECsedici

(34)

Informatica - Claudia d'Amato 37

Numeri naturali binari nei

Numeri naturali binari nei

calcolatori

calcolatori

Per la codifica dei

Per la codifica dei

numeri

numeri

naturali

naturali

(interi

(interi

positivi)

positivi)

si utilizzano abitualmente successioni

si utilizzano abitualmente successioni

di

di

32 bit

32 bit

(4 byte)

(4 byte)

con cui si possono

con cui

si possono

rappresentare i numeri compresi tra

rappresentare i numeri compresi tra

0

(35)

Numeri interi relativi

Numeri interi relativi

Alfabeto binario

Alfabeto binario

• anche il segno è rappresentato da 0 o 1

• è indispensabile indicare il numero kk di bit utilizzati

Modulo e segno

Modulo e segno

• 1 bit di segno (0 positivo, 1 negativo)

• k – 1 bit di modulo

• Esempio: +6dieci = 0110ms –6dieci = 1110ms

• si rappresentano i valori da –2k–1+1 a 2k–1–1

• con 4 bit i valori vanno da –7 a +7

• con 8 bit i valori vanno da –127 a +127

Attenzione: ci sono due rappresentazioni dello 0

(36)

Informatica - Claudia d'Amato 40

Numeri interi in complemento a 2

Numeri interi in complemento a 2

Alfabeto binario

Alfabeto binario

• anche il segno è rappresentato da 0 o 1

• è indispensabile indicare il numero k di bit utilizzati

Complemento a 2

Complemento a 2

• X corrisponde al binario naturale di 2k + X

+6dieci 24+6 = 22 [1]0110 0110 C2

–6dieci 24– 6 = 10 [0]1010 1010 C2 • si rappresentano i valori da –2k–1 a 2k–1–1

• con 4 bit i valori vanno da –8 a +7

• con 8 bit i valori vanno da –128 a +127

• Con 32 bit i valori vanno da –2'147'483'648 fino a +2'147'483'647

• Attenzione: c’è una sola rappresentazione dello 0

(37)

Il complemento a 2

Il complemento a 2

Metodi alternativi per calcolare la

Metodi alternativi per calcolare la

rappresentazione di –X a partire da quella di X

rappresentazione di –X a partire da quella di X

Effettuare il complemento 1 di ogni bit di X, poi aggiungere 1

• rappresentazione di +6dieci = 0110C2 (NB ci vogliono 4 bit!!)

• complemento di tutti i bit ⇒ 1001C2 (corrisponderebbe a -7dieci)

• aggiungere 1 ⇒ 1010C2 (che corrisponde a -6dieci)

• Partendo da destra e andando verso sinistra, lasciare invariati tutti i bit fino al primo 1 compreso,

complementare tutti gli altri bit.

• rappresentazione di +6dieci = 0110C2 (NB ci vogliono 4 bit!!)

• gli ultimi due bit (_ _ 1 0) rimangono invariati

(38)

Informatica - Claudia d'Amato 43

Complemento a 2: alcune osservazioni

Complemento a 2: alcune osservazioni

I valori positivi iniziano con

I valori positivi iniziano con

0

0

, quelli negativi con

, quelli negativi con

1

1

Data la rappresentazione di un numero su

Data la rappresentazione di un numero su

k

k

bit, la

bit, la

rappresentazione dello stesso numero su

rappresentazione dello stesso numero su

k+1

k+1

bit si

bit si

ottiene aggiungendo (a sinistra) un bit uguale al

ottiene aggiungendo (a sinistra) un bit uguale al

primo (

primo (

estensione del “segno”

estensione del “segno”

)

)

• Rappresentazione di –6 su 4 bit = 1010

• Rappresentazione di –6 su 5 bit = 11010

• Rappresentazione di –6 su 8 bit = 11111010

la sottrazione si effettua come somma algebrica

la sottrazione si effettua come somma algebrica

• 4 – 6 = +4 + (–6) = 0100 + 1010 = 1110 = –2

(39)

C2: operazioni

C2: operazioni

Operazioni di somma di numeri binari in complemento a Operazioni di somma di numeri binari in complemento a

due. due.

Con gli 8 bit utilizzati negli esempi qui riportati si possono Con gli 8 bit utilizzati negli esempi qui riportati si possono

rappresentare i numeri interi da –128

(40)

Informatica - Claudia d'Amato 45

C2: operazioni

C2: operazioni

ATTENZIONE

ATTENZIONE

Se due operandi dello stesso segno danno un

Se due operandi dello stesso segno danno un

risultato di segno opposto vuol dire che è stata

risultato di segno opposto vuol dire che è stata

superata la capacità di calcolo

(41)

Numeri razionali

Numeri razionali

Cifre più significativeCifre più significative: : sono le cifre associate ai pesi maggiorisono le cifre associate ai pesi maggiori

• numeri > 1: le cifre più significative sono quelle poste più a sinistra

• es.: 723'456 → cifra più significativa: 7, associata al peso 105, seguita da 2,

con peso 104, e così via;

• numeri < 1: le cifre più significative sono le prime diverse da 0 che si

incontrano, a partire dalla virgola, da sinistra verso destra

• es.: 0.0072345 --> cifra più significativa: 7, con peso 10–3, seguita da 2, con

peso 10–4, e così via.

Se i numeri hanno un valore molto grande o piccolo, si considerano solo Se i numeri hanno un valore molto grande o piccolo, si considerano solo le cifre più significative

le cifre più significative --> --> rappresentazione in notazione scientificarappresentazione in notazione scientifica: : un numero in base B viene rappresentato come:

un numero in base B viene rappresentato come: ±0.m×B±0.m×Bee,,

segnosegno (+ oppure –),

• coefficiente mm, detto mantissamantissa, che è la parte frazionaria compresa tra 0 e 1

esponenteesponente ee a cui elevare la base della numerazione, che è un intero ( 0)

Esempi:Esempi:

• -123'450'000'000 diventa –0.12345×10–0.12345×101212,

con segno negativo, mantissa 12345, ed esponente 12; • +0.000012345, corrisponde a 0.12345×100.12345×10-5-5,

(42)

Informatica - Claudia d'Amato 47

Rappresentazione binaria

Rappresentazione binaria

Per esempio +101010000 diventa +0.10101×10Per esempio +101010000 diventa +0.10101×100100101001,,

• segno positivo;

• mantissa 10101 (si noti che la mantissa inizia sempre con 1); • esponente è 01001C2

(si noti come l’esponente sia un numero intero e per questo sia necessario adottare una rappresentazione che permetta la codifica anche di valori negativi, come, per esempio, quella in complemento a due).

Standard Standard IEEE-754IEEE-754 ( (Institute of Electrical and Electronic EngineersInstitute of Electrical and Electronic Engineers):):

precisione doppia: 64 bitprecisione doppia: 64 bit

Riferimenti

Documenti correlati

☛ (matr, notte) identifica il turno del custode in una notte che si associa (1,1) con l’area , l’area si può associare con lo stesso custode purché cambi la notte del turno.

• Shower enclosure to be positioned in the middle of a room, that can be completely made to measure, with 3 glass panels jointed together with “L” shape profile with

il TIPO ( la struttura) delle istanze delle classi come AGGREGAZIONE di proprietà comuni. Es.: CORSI (codice, nome, anno, ore...) ( , , , ) DOCENTI (codice, nome,

• Transfer Out: Indica il tipo di risorsa necessaria per il trasferimento (request transporter, access conveyor, seize resource o none). • Queue Type: Indica la disciplina di

Codice (n, k) con n&gt; k =&gt; codice con parole di lunghezza n di cui k bit di informazione Un codice rivelatore di errore ha la proprietà che la generazione di un errore su

[r]

Progettazione di basi di dati La progettazione di una base di dati è una delle attività del processo di sviluppo di un sistema informativo.. va inquadrata nel contesto più ampio

dell’unione degli insiemi delle istanze dei genitori (se gli insiemi delle istanze dei genitori sono disgiunti, ogni istanza della categoria appartiene all’insieme delle istanze di