View
216
Download
0
Category
Preview:
Citation preview
L'informazione e la L'informazione e la sua codificasua codifica
Corso di InformaticaCorso di InformaticaCdL: CdL: ChimicaChimica
Claudia d'AmatoClaudia d'Amatoclaudia.damato@di.uniba.itclaudia.damato@di.uniba.it
Informatica - Claudia d'Amato 2
Informatica e telecomunicazioneInformatica e telecomunicazione Cos’è l’Cos’è l’informaticainformatica??
• 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’informazionedell’informazione
Cos’è la Cos’è la telecomunicazionetelecomunicazione??• la trasmissione rapidarapida a distanzadistanza dell’informazione
Attenzione:Attenzione:• NonNon si parla di tecnologia dei calcolatoricalcolatori !• Si attribuisce ruolo centrale al concetto di informazioneinformazione !
Informatica - Claudia d'Amato 3
Informazione e supportoInformazione e supporto L’informazione è “L’informazione è “portata daportata da”, o “”, o “trasmessa trasmessa
susu”, o “”, o “memorizzata inmemorizzata in”, o “”, o “contenuta incontenuta in” ” qualcosa; questo “qualcosa; questo “qualcosaqualcosa” 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.dell’informazione.
Informatica - Claudia d'Amato 4
Informazione e supporti /2Informazione e supporti /2
La stessa informazione può essere scritta La stessa informazione può essere scritta su su supporti differentisupporti differenti..
10109
11
8
67
Informatica - Claudia d'Amato 6
Informazione e supporto /4Informazione e supporto /4 Distinguere informazione e supporto fisico è Distinguere informazione e supporto fisico è
distinguere tra “distinguere tra “entità logicheentità logiche” ed “” ed “entità entità fisichefisiche”:”:• l’informazione richiede un supporto fisicorichiede un supporto fisico, ma
non coincide con esso;• l’informazione è un’entità extra‑fisicaextra‑fisica, non
interpretabile in termini di materia‑energia e sottoposta alle leggi della fisica solo perché basata su un supporto fisico.
L’informazione si può L’informazione si può crearecreare e e distruggeredistruggere..
Informatica - Claudia d'Amato 7
Caratteristiche di un sistema fisico per Caratteristiche di un sistema fisico per supportare informazionisupportare informazioni
CODIFICA:CODIFICA: l'operazione formalizzazione e l'operazione formalizzazione e scrittura dell'infomazione su supporto fisicoscrittura dell'infomazione su supporto fisico
DECODIFICA:DECODIFICA: l'operazione di interpretazione l'operazione di interpretazione e lettura dell'informazione da supporto fisicoe lettura dell'informazione da supporto fisico
Condizione necessariaCondizione necessaria perché un supporto perché un supporto possa portare informazione è che possa possa portare informazione è che possa assumereassumere configurazioni differenticonfigurazioni differenti, a ognuna , a ognuna delle quali venga associata una differentedelle quali venga associata una differente entità di informazioneentità di informazione..
Informatica - Claudia d'Amato 8
Supporto fisico: 1Supporto fisico: 1aa condizione condizione Deve consentire di Deve consentire di
potere identificare potere identificare delle differenzedelle differenze• Es: voglio rappresentare 2
alternative
Cosa Cosa rappresentarappresenta ciascuna ciascuna configurazione?configurazione?
Informatica - Claudia d'Amato 9
Configurazioni e codiciConfigurazioni 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.
Informatica - Claudia d'Amato 10
CODICE
Supporto fisico: 2a condizioneSupporto fisico: 2a condizioneDeve essere Deve essere condivisacondivisa una regola per una regola per attribuire un attribuire un significatosignificato a ciascuna a ciascuna
configurazioneconfigurazione
Configurazione 1
Entità di informazione 1
Configurazione 2
Entità di informazione 2
Informatica - Claudia d'Amato 11
Definire un codiceDefinire un codice Identificare Identificare
• { Configurazioni }• { Entità informazione }
Associare gli elementi Associare gli elementi dei 2 insiemidei 2 insiemi
Informatica - Claudia d'Amato 12
Il telegrafo...Il telegrafo... Supporto fisicoSupporto fisico: conduttore in cui transita corrente : conduttore in cui transita corrente
continuacontinua
Entità di informazioneEntità di informazione: “punti” e “linee”, che : “punti” e “linee”, che rappresentano le lettere dell’alfabetorappresentano le lettere dell’alfabeto
CodiceCodice = 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 line2 s” = “punto linea”.a”.
Informatica - Claudia d'Amato 13
...Il telegrafo...Il telegrafo Codice MorseCodice 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.
Abbiamo associato simboli ad altri simboli!!Abbiamo associato simboli ad altri simboli!!
Informatica - Claudia d'Amato 14
Messaggi vs configurazioneMessaggi 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.successivo: sono relazioni di significazione.
Informatica - Claudia d'Amato 15
Livelli di informazioneLivelli di informazione
Informazione Informazione sintatticasintattica• Rappresentazione in simboli dell'informazione
Informazione Informazione semanticasemantica• Determinazione del significato della informazione
rappresentata
Informazione Informazione pragmaticapragmatica• Determinazione del valore da attribuire
all'informazione, considerata la sua rappresentazione ed il suo significato
Informatica - Claudia d'Amato 18
Codifica dati e istruzioniCodifica dati e istruzioni AlgoritmoAlgoritmo
• 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. ProgrammaProgramma
• algoritmo algoritmo scritto in modo da poter essere eseguito da un calcolatorecalcolatore (esecutore automatico)
Per scrivere un Per scrivere un programmaprogramma è necessario è necessario rappresentare rappresentare istruzioniistruzioni e e datidati in un formato tale in un formato tale che che l’esecutore automaticol’esecutore automatico sia capace di sia capace di memorizzare memorizzare e e manipolaremanipolare..
Informatica - Claudia d'Amato 19
Rappresentare dati e istruzioni Rappresentare dati e istruzioni per il processing di un esecutore per il processing di un esecutore
automaticoautomatico 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]• “123,456” = 1×105 + 2×104 + 3×103 + 4×102 + 5×101 + 6×100, [UK]
Informatica - Claudia d'Amato 20
Codifica BinariaCodifica 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 ≥ log2N ⇒ k = k = loglog22NN (intero superiore)
Attenzione:Attenzione:ipotesi implicita che i codici abbiano tutti la ipotesi implicita che i codici abbiano tutti la stessa lunghezzastessa lunghezza
Informatica - Claudia d'Amato 21
Esempio di codifica binariaEsempio 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 settimanasettimana
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 lunghezzaipotesi che i codici abbiano tutti la stessa lunghezza
Informatica - Claudia d'Amato 22
I giorni della settimana in binario /1I giorni della settimana in binario /1
1 bit2 “gruppi”
2 bit4 “gruppi”
3 bit8 “gruppi”
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
Informatica - Claudia d'Amato 23
I giorni della settimana in binario /2I giorni della settimana in binario /2
1 bit2 “gruppi”
2 bit4 “gruppi”
3 bit8 “gruppi”
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
Informatica - Claudia d'Amato 24
Codifica binaria dei caratteriCodifica 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 = 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 caratteri=128 caratteri• 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
Informatica - Claudia d'Amato 25
ASCII su 7 bit (alcune configurazioni)ASCII su 7 bit (alcune configurazioni)
canc~}|{zYxwvutsrqp111
onmlkjIhgfedcba`110
_^]\[ZYXWVUTSRQP101
ONMLKJIHGFEDCBA@100
?>=<;:9876543210011
/.-,+*)('&%$#"!sp010
11
11
11
10
11
01
11
00
10
11
10
10
10
01
10
00
01
11
01
10
01
01
01
00
00
11
00
10
00
01
00
00
Informatica - Claudia d'Amato 26
bit, Byte, KiloByte, MegaByte, …bit, Byte, KiloByte, MegaByte, …
bitbit = solo due stati, “0” oppure “1”. = solo due stati, “0” oppure “1”.
ByteByte = 8 bit, quindi 2 = 8 bit, quindi 288 = 256 stati = 256 stati
KiloByteKiloByte [ [KBKB]] = 2= 21010 Byte = 1024 Byte ~ 10 Byte = 1024 Byte ~ 1033 Byte Byte
MegaByteMegaByte [ [MBMB]] = 2= 22020 Byte = 1'048'576 Byte ~ 10 Byte = 1'048'576 Byte ~ 1066 Byte Byte
GigaByteGigaByte [ [GBGB]] = 2= 23030 Byte ~ 10 Byte ~ 1099 Byte Byte
TeraByteTeraByte [ [TBTB]] = 2= 24040 Byte ~ 10 Byte ~ 101212 Byte Byte
PetaBytePetaByte [ [PBPB]] = 2= 25050 Byte ~ 10 Byte ~ 101515 Byte Byte
ExaByteExaByte [ [EBEB]] = 2= 26060 Byte ~ 10 Byte ~ 101818 Byte Byte
Informatica - Claudia d'Amato 27
La codifica delle istruzioniLa 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
Codice Istruzione Codice 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 … … … … … … … … … … … … … … … … … …
Informatica - Claudia d'Amato 28
Oltre al codice operativoOltre al codice operativo
… … è necessario far riferimento ai è necessario far riferimento ai datidati 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 il numeronumero dei dati da specificare è variabile, in funzione dei dati da specificare è variabile, in funzione delle istruzioni.delle istruzioni.
Informatica - Claudia d'Amato 29
Numeri naturaliNumeri naturali
Sistema di numerazione posizionale in base Sistema di numerazione posizionale in base bb•ckck–1…c0 rappresenta ck×bk + ck–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
Informatica - Claudia d'Amato 30
Conversione binario Conversione binario ⇒⇒ decimale decimale101100due = 1dieci×25
dieci+ 0dieci×24dieci+ 1d ieci×23
dieci+ 1dieci×22dieci+ 0d ieci×21
dieci+ + 0d ieci×20
dieci = = 1dieci×32dieci + 0dieci×16dieci + 1dieci×8dieci + 1dieci×4dieci+ 0d ieci×2dieci
+ 0d ieci×1dieci = = 32dieci + 8dieci + 4dieci = = 44dieci
101110101due = 1dieci×28dieci+ 0dieci×27
dieci+ 1dieci×26dieci+ 1dieci×25
dieci+ 1d ieci×24dieci+
0dieci×23dieci+ 1dieci×22
dieci+ 0dieci×21dieci+ 1dieci×20
dieci = = 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 = = 373dieci
Informatica - Claudia d'Amato 32
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 dieciipotizzare diversa da dieciccn–1n–1ccn–2n–2…c…c11cc00 = c = cn–1n–1××BBn–1n–1 + c + cn–2n–2××BBn–2n–2 + … + c + … + c11××BB11 + c + c00××BB00
ccn–1n–1ccn–2n–2…c…c11cc00 = c = cn–1n–1××BBn–1n–1 + c + cn–2n–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 + cn–2n–2××BBn–2n–2 + … + c + … + c11××B + cB + c00)/B =)/B = = c = cn–1n–1××BBn–2n–2 + c + cn–2n–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 = cquoziente = cn–1n–1×B×Bn–2n–2 + c + cn–2n–2×B×Bn–3n–3 + … + c + … + c11
resto = cresto = 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 numerobase 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 Bdella rappresentazione in base B
Ripetendo la procedura è possibile ottenere tutte le altre cifre.Ripetendo la procedura è possibile ottenere tutte le altre cifre.
Informatica - Claudia d'Amato 33
Conversione Conversione decimale decimale ⇒⇒ binario binario573573diecidieci : 2 : 2diecidieci ⇒⇒ quozientequoziente 286286diecidieci restoresto 11diecidieci
286286diecidieci : 2 : 2diecidieci ⇒⇒ quozientequoziente 143143diecidieci restoresto 00diecidieci
143143diecidieci : 2 : 2diecidieci ⇒⇒ quozientequoziente 7171diecidieci restoresto 11diecidieci
7171diecidieci : 2 : 2diecidieci ⇒⇒ quozientequoziente 3535diecidieci restoresto 11diecidieci
3535diecidieci : 2 : 2diecidieci ⇒⇒ quozientequoziente 1717diecidieci restoresto 11diecidieci
1717diecidieci : 2 : 2diecidieci ⇒⇒ quozientequoziente 88diecidieci restoresto 11diecidieci
88diecidieci : 2 : 2diecidieci ⇒⇒ quozientequoziente 44diecidieci restoresto 00diecidieci
44diecidieci : 2 : 2diecidieci ⇒⇒ quozientequoziente 22diecidieci restoresto 00diecidieci
22diecidieci : 2 : 2diecidieci ⇒⇒ quozientequoziente 11diecidieci restoresto 00diecidieci
11diecidieci : 2 : 2diecidieci ⇒⇒ quozientequoziente 00diecidieci restoresto 11diecidieci
1 000 111 1011 000 111 101duedue = 573 = 573diecidieci
(cifra binaria meno significativa)(cifra binaria meno significativa)
(cifra binaria più significativa)(cifra binaria più significativa)
Informatica - Claudia d'Amato 34
Conversione Conversione decimale decimale ⇒⇒ binario binario
18 : 2 = 918 : 2 = 9 resto 0resto 09 : 2 = 49 : 2 = 4 resto 1resto 14 : 2 = 24 : 2 = 2 resto 0resto 02 : 2 = 12 : 2 = 1 resto 0resto 01 : 2 = 01 : 2 = 0 resto 1resto 1
137 : 2 =137 : 2 = 6868 resto 1resto 168 : 2 =68 : 2 = 3434 resto 0resto 034 : 2 =34 : 2 = 1717 resto 0resto 017 : 2 =17 : 2 = 88 resto 1resto 18 : 2 =8 : 2 = 44 resto 0resto 04 : 2 =4 : 2 = 22 resto 0resto 02 : 2 = 2 : 2 = 11 resto 0resto 01 : 2 = 1 : 2 = 00 resto 1resto 1
Si calcolano i resti delle divisioni per due
10010
10001001
Informatica - Claudia d'Amato 35
Numeri binari: operazioniNumeri 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 rappresentazioneil superamento della capacità di rappresentazione (indicato (indicato in gergo dal termine inglese in gergo dal termine inglese overflowoverflow). ).
1
1
Informatica - Claudia d'Amato 36
Ottali ed esadecimaliOttali ed esadecimali Utili per rappresentare sinteticamente valori binariUtili 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
• 1100110001due = [11] [0011] [0001] = 331sedici
Informatica - Claudia d'Amato 37
Numeri naturali binari nei Numeri naturali binari nei calcolatoricalcolatori
Per la codifica deiPer la codifica dei numerinumeri naturalinaturali (interi (interi positivi) positivi) si utilizzano abitualmente successioni si utilizzano abitualmente successioni didi 32 bit32 bit (4 byte) (4 byte) con cuicon cui si possono si possono rappresentare i numeri compresi tra rappresentare i numeri compresi tra 00 e e 223232–1–1 = 4'294'967'295 ≈ = 4'294'967'295 ≈ 4×104×1099..
Informatica - Claudia d'Amato 39
Numeri interi relativiNumeri interi relativi Alfabeto binarioAlfabeto binario
• anche il segno è rappresentato da 0 o 1• è indispensabile indicare il numero kk di bit utilizzati
Modulo e segnoModulo 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• con 4 bit sono +0dieci = 0000ms –0dieci = 1000ms
Informatica - Claudia d'Amato 40
Numeri interi in complemento a 2Numeri interi in complemento a 2 Alfabeto binarioAlfabeto binario
• anche il segno è rappresentato da 0 o 1• è indispensabile indicare il numero k di bit utilizzati
Complemento a 2Complemento a 2• X corrisponde al binario naturale di 2k + X
+6dieci ⇒ 24+6 = 22 ⇒ [1]0110 ⇒ 0110C2
–6dieci ⇒ 24– 6 = 10 ⇒ [0]1010 ⇒ 1010C2
• 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• con 4 bit è +0dieci = 0000C2 mentre 1000C2 = –8dieci
Informatica - Claudia d'Amato 41
Il complemento a 2Il complemento a 2
Metodi alternativi per calcolare la Metodi alternativi per calcolare la rappresentazione di –X a partire da quella di Xrappresentazione 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• gli altri due bit vengono complementati (1 0 1 0C2)
Informatica - Claudia d'Amato 43
Complemento a 2: alcune osservazioniComplemento a 2: alcune osservazioni I valori positivi iniziano con I valori positivi iniziano con 00, quelli negativi con , quelli negativi con 11 Data la rappresentazione di un numero su Data la rappresentazione di un numero su kk bit, la bit, la
rappresentazione dello stesso numero su rappresentazione dello stesso numero su k+1k+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 algebricala sottrazione si effettua come somma algebrica• 4 – 6 = +4 + (–6) = 0100 + 1010 = 1110 = –2• 9 – 6 = +9 + (–6) = 01001 + 11010 = [1]00011 = +3
Informatica - Claudia d'Amato 44
C2: operazioniC2: 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 –128rappresentare i numeri interi da –128diecidieci fino a +127 fino a +127diecidieci
Informatica - Claudia d'Amato 45
C2: operazioniC2: operazioni
ATTENZIONEATTENZIONE 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 calcolosuperata la capacità di calcolo ( (overflowoverflow).).
Informatica - Claudia d'Amato 46
Numeri razionaliNumeri 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,
con segno positivo, mantissa 12345 ed esponente –5.
Informatica - Claudia d'Amato 47
Rappresentazione binariaRappresentazione 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• precisione singola: 32 bitprecisione singola: 32 bit
Recommended