1 - Dipartimento di Informatica

Transcript

1 - Dipartimento di Informatica
FondamentidiInformatica
Linguag gi,CodificaeRappresentazionedell’Informazione
P ro f. C h r i st i a n E s p o s i to
C o rs o d i L a u re a i n I n g e g n e r i a M e c ca n i ca e G e st i o n a l e ( C l a s s e I )
A.A.2016/17
Linguaggi,CodificaeRappresentazionedell’Informazione
Cosaabbiamovistolavolta
scorsa
• Glielaboratorisonostrumentiperrisolvere(oaiutarearisolvere)
problemibasatisulleinformazioni
• Macomeciòavviene?
1. Abbiamobisognodicodificare ememorizzareopportunamente
dati einformazioni
2. Abbiamobisognodiimpartire legiusteistruzioniperrisolvere
correttamenteproblemi
Linguaggi,CodificaeRappresentazionedell’Informazione
01/68
Cosavedremooggi
• Glielaboratorisonostrumentiperrisolvere(oaiutarearisolvere)
problemibasatisulleinformazioni
• Macomeciòavviene?
1. Abbiamobisognodicodificareememorizzareopportunamente
datieinformazioni
2. Abbiamobisognodiimpartire legiusteistruzioniperrisolvere
correttamenteproblemi
Linguaggi,CodificaeRappresentazionedell’Informazione
02/68
QualeLinguaparla l’Elaboratore?
• Comerendere dati einformazioni comprensibili adunelaboratore?
• Informazioni edati peressere trattati daunelaboratore devono essere
opportunamente codificati
Linguaggi,CodificaeRappresentazionedell’Informazione
03/68
Linguaggio
• Alfabeto
• Collezionedisimboligrafici,aventidisolitounordinebenpreciso,che
servonoarappresentareleparolediunalingua
• I simbolispesso(manonsempre)sonolettereovverorappresentazione
scrittadisuonilinguistici
• Vocabolario(olessico)
• Insiemedelleparoleammissibilidiunalingua
• Grammatica
• Insiemediregoleutiliallacorrettacostruzionedifrasi,sintagmieparole
• Ilterminesiriferisceallostudiodellesuddetteregole
• Semantica
• Studiailsignificatodelleparole(semanticalessicale),degliinsiemidelle
parole,dellefrasi(semanticafrasale)edeitesti
Linguaggi,CodificaeRappresentazionedell’Informazione
04/68
LaFunzionedeiLinguaggi
• Ilinguaggi(verbali,nonverbali,orali,scritti,etc.)sonostrumentiche
contribuisconoa
• Rappresentareleinformazioni
• Concetti,pensieri,emozioni,etc.,vengonoformalizzatiattraversoilinguaggiper
poteresserememorizzati,trasferitiedelaborati
• Memorizzareleinformazioni
• Lascrittura
• Trasferireleinformazioni
• Lacomunicazione
• Elaborareleinformazioni
• Lededuzioninellalogica
Linguaggi,CodificaeRappresentazionedell’Informazione
05/68
ProblemirelativiaiLinguaggi
• Accordosuisimboli
• abcdef g…
• Accordosullessico
• casa,gatto,automobile,vado,…
• Accordosullagrammatica
• <soggettoverbocomplemento>
• Accordosullasemantica
• Lanonnachiudelaporta(OK)
• Laportachiudelanonna(NO)
• Accordosullacodifica
• Regolepertrasformaresimboli,paroleefrasidiunlinguaggioinunanuova
rappresentazioneconpossibilitàdieffettuareinmanieracorrettaanche
l’operazioneinversa
• “a”incodiceMorse(SamuelMorse,pittoreestoricoinglese)è“.– ”
• “b”incodiceMorseè“– ...”
Linguaggi,CodificaeRappresentazionedell’Informazione
06/68
CodiceBraille
• Lettera“a”
• Lettera“b”
Linguaggi,CodificaeRappresentazionedell’Informazione
07/68
CodificadeiNumeri
• Linguaggiodipartenza
• Inumeri
• Codifica1
• Numerazionedecimale
• 5,45,670
• Codifica2
• Numerazionebinaria
• 101,…
• Codifica3
Linguaggi,CodificaeRappresentazionedell’Informazione
08/68
Quipo
• Quipo èuninsiemedicordicelleannodate,distanziatein
modosistematicotraloroelegateaunacordapiùgrossa
ecortachelesorregge.
•Iquipo servivanopericalcolimatematici.Inodidelle
cordesonodidiversicolori:rappresentavanonumeri,e
dallalororeciprocaposizionesenepotevanoricavarele
unità,ledecine,lecentinaiaelemigliaia.
Linguaggi,CodificaeRappresentazionedell’Informazione
09/68
ILinguaggiNaturali:Ambiguità
• Percomunicaretralorogliuominihannosviluppatoilinguagginaturali
• Italiano,inglese,francese,etc
• Unacaratteristicanegativa ditalilinguaggièlaloroinerenteambiguità
• Unaqualsiasifrase formulataèpotenzialmentepolisemica
• Ilsignificatochevienedatoallafrasedachiriceveilmessaggiopuòessere
diversodaquellodatoglidalmittente
• Comprendereilsignificatodiunafraseinlinguaggionaturale èpiù
semplicesequestavienepronunciatainundatocontesto
Linguaggi,CodificaeRappresentazionedell’Informazione
10/68
ILinguaggiNaturali:
Disambiguazione
• Comprendereilsignificatodiunafraseinlinguaggionaturaleèpiù
semplicesequestavienepronunciatainundatocontesto
•
•
•
•
ConcorsoIppico
CircoloScacchistico
Sartoria
Palestra
Linguaggi,CodificaeRappresentazionedell’Informazione
11/68
ILinguaggiNaturalinella
ComunicazioneconiCalcolatori
• Percomunicareconunelaboratore,l’ambiguità deilinguagginaturali
rappresentaungrossoproblema
• Bisognerebbefornireall’elaboratoreancheilcontestoelaconoscenza
(leregole)perdisambiguarelefrasi
• Larappresentazione(comprensibilealcalcolatore)dicontestoeregoleè
moltocomplicata
• Inalcunicasiladisambiguazioneèdifficileanchepergliuomini
• Ènecessariol’utilizzodeicosiddettiLinguaggiFormali
Linguaggi,CodificaeRappresentazionedell’Informazione
12/68
ILinguaggiFormali
• Sviluppatiedimpiegatiintuttigliambitiincuiènecessarioevitare
l’ambiguità
• Informatica,matematica,logica,etc
• LadefinizionediunLinguaggioFormaleprevede
• L’individuazionediunalfabeto,ovvero,diunelenco(finito)disimboli
• Ladefinizionediunagrammaticaformale,ovverouninsiemediregole
sintattichechespecificanocomeisimbolidell’alfabetopossonoessere
combinatitraloropercostituirelefrasibenformateall’internodel
linguaggiostesso
• Inoltre,lesemanticheformaliconsentonodiattribuireunsignificato
nonambiguoallefrasiinunlinguaggioformale
Linguaggi,CodificaeRappresentazionedell’Informazione
13/68
UsareeProgrammareil
computer
• IProgrammi(osoftware)risolvonoproblemispecificiconapproccio
basatosulleinformazionievengonoeseguitidaicomputer
Usare
programmi
realizzati da
altri
Programmare
Linguaggi
naturali
scrivere su
Facebook
scrivere una
relazione con
Word
Linguaggi formali (di
programmazione)
realizzare
contenuti
didattici
interattivi
realizzare
Programmi con
Matlab
Numeri binari,
codifica binaria
dei caratteri,
etc.
realizzare
Programmi
complessi come
ad es.
Facebook
Linguaggi,CodificaeRappresentazionedell’Informazione
14/68
Rappresentazionedell’Informazione:
AccordosuiSimboli
• L’informazioneèrappresentatadaidati,chealorovoltasonoespressi
in formadisimboli
• Lastessainformazione puòesserecodificataconsimboliemodalità
diverse
•
•
•
•
1963->simboli“0”,“1”,“2”,…
MCMLXIII->simbolidellacodificaromana
Millenovecentosessantatre ->rappresentazionetestuale
…
Linguaggi,CodificaeRappresentazionedell’Informazione
15/68
Rappresentazionedell’informazione
neicalcolatori– 1/2
• Consideriamounalfabetoridottochecontienesoloisimboli“0”e“1”
• Unbit (contrazionedibinary digit)èunsimbolosceltosull’alfabeto{0,
1}
• Neicalcolatoriognielemento (numeri,testo,audio,video,istruzioni,
etc)vienerappresentato esclusivamenteconsequenzedibit
• Idati e leistruzioni vengonocodificati consequenzedibit
Linguaggi,CodificaeRappresentazionedell’Informazione
16/68
Rappresentazionedell’informazione
neicalcolatori– 2/2
• Pertrattare(memorizzare,elaborare,trasmettere,etc.)l’informazione,
ilcalcolatore
• Codifica l’informazionedisponibilescrivendosuunsupportofisico
• Manipola ilsupportoconopportunetrasformazionifisiche,ottenendouna
versionemodificatadelsupporto
• Decodifica l’informazionecorrispondentealrisultatodell’elaborazione
leggendodallaversionemodificatadelsupporto
Linguaggi,CodificaeRappresentazionedell’Informazione
17/68
CodificaBinaria
• Alfabetobinario: usiamosoloduecifre0,1(bit)
• Problema: assegnareunasequenzadibitunivocaatuttiglioggettiin
uninsiemepredefinito
• Quantioggettipossorappresentareconk bit?
•
•
•
•
•
1bit=>2stati(0,1)=>2oggetti
2bit =>4stati(00,01,10,11)=>4oggetti
3bit =>8stati(000,001,…,111)=>8oggetti
…
k bit=>2k stati=>2k oggetti
• QuantibitmiservonopercodificareN oggetti?
• N ≤ 2𝑘 =>k≥ 𝑙𝑜𝑔2𝑁 =>k= 𝑙𝑜𝑔2𝑁 (interosuperiore)
Linguaggi,CodificaeRappresentazionedell’Informazione
18/68
CombinazionidiBit
Bit a
disposizione
Lecombinazioni
Il numero di
combinazioni
1
2
3
0, 1
00, 01, 10, 11
000, 001, 010, 011, 100, 101,
110, 111
0000, 0001, 0010, 0011, 0100,
0101, 0110, 0111,1000, 1001,
1010, 1011, 1100, 1101, 1110,
1111
00000, 00001, 00010, …
…
2 = 21
4 = 22
8 = 23
4
5
…
16 = 24
32 = 25
…
Linguaggi,CodificaeRappresentazionedell’Informazione
19/68
UnPrimoEsempiodiCodifica:
Interruttore
• Duesolepossibilità(stati)
• Spento
• Acceso
• L’informazionesullostato
dell’interruttorecorrisponde
dunqueallasceltafraduesole
alternative
Linguaggi,CodificaeRappresentazionedell’Informazione
20/68
UnPrimoEsempiodiCodifica:
Interruttore
• 1bitrappresentalostato
dell’interruttore
• Interruttoreacceso:1
• Interruttorespento:0
Linguaggi,CodificaeRappresentazionedell’Informazione
21/68
Codificadiun’Informazionecon
PiùdiDueStati:IlSemaforo
Linguaggi,CodificaeRappresentazionedell’Informazione
22/68
DiverseCodificheperleStesse
Informazioni
• Rappresentazionedeglistatidiunsemaforomediantebit
3 bit
2 bit
Stato
Codifica
ROSSO
100
VERDE
001
GIALLO
010
Stato
Codifica
ROSSO
00
VERDE
01
GIALLO
10
Linguaggi,CodificaeRappresentazionedell’Informazione
23/68
Codificadiun’InformazioneconPiù
diDueStati:GiornidellaSettimana
• Problema: assegnareuncodicebinariounivocoatuttiigiornidella
settimana
• Giornidellasettimana:N =7=>𝑘 ≥ 𝑙𝑜𝑔27 => 𝑘 = 3
• Con3bitpossiamoottenere8diversesequenze
• Neservono7,qualiutilizziamo?
• Qualeconfigurazioneassociamoaqualegiorno?
• Osservazione: quantodettofinoadoravalesottol’ipotesicheicodici
abbianotuttilastessalunghezza
Linguaggi,CodificaeRappresentazionedell’Informazione
24/68
IGiornidellaSettimanain
Binario
Lunedì
Martedì
Domenica
Mercoledì
Sabato
Giovedì
Lunedì
Giovedì
0
Martedì
Mercoledì
Venerdì
Venerdì
1 bit
2 “gruppi”
1
Martedì
Mercoledì
01
Giovedì
Venerdì
10
Sabato
Venerdì
Domenica
Lunedì
00
Giovedì
Mercoledì
Domenica
Sabato
Lunedì
Martedì
Sabato
Domenica
11
2 bit
4 “gruppi”
000
001
010
011
100
101
110
111
3 bit
8 “gruppi”
Linguaggi,CodificaeRappresentazionedell’Informazione
25/68
IGiornidellaSettimanain
Binario
Lunedì
Martedì
Domenica
Mercoledì
Sabato
Giovedì
Venerdì
Sabato
Giovedì
0
Martedì
Domenica
Lunedì
Mercoledì
Venerdì
1 bit
2 “gruppi”
1
Giovedì
00
Martedì
Sabato
01
Mercoledì
Domenica
10
Lunedì
Venerdì
Giovedì
Sabato
Martedì
Domenica
Mercoledì
Venerdì
11
2 bit
4 “gruppi”
Lunedì
000
001
010
011
100
101
110
111
3 bit
8 “gruppi”
Linguaggi,CodificaeRappresentazionedell’Informazione
26/68
CodificadeiCaratteri– 1/5
• Problema: èpossibileapplicarequesteideeallarappresentazionedi
informazionepiùcomplessa,adesempiodiuntesto?
• Untestoèrappresentatoattraversounasuccessionedicaratteri
• Ognicaratterevienesceltoall’internodiuninsiemefinitodisimboli
(alfabeto)
Linguaggi,CodificaeRappresentazionedell’Informazione
27/68
CodificadeiCaratteri– 2/5
• Con8bit,èpossibilerappresentarelasceltafra256alternativediverse
(28=256)
• Da00000000…a11111111
• Passandopertuttelecombinazioniintermedie(00000001,00000010,…)
• Nelcasodeltesto,possiamofarcorrisponderediversecombinazionidi
8bit(ottocellette,ciascunadellequalipuòcontenere0o1)acaratteri
diversi
OgnisingoloCARATTEREviene
codificatoconunacombinazionedi8
bit
Linguaggi,CodificaeRappresentazionedell’Informazione
28/68
CodificadeiCaratteri– 3/5
• Adesempio:
•
•
•
•
•
00000000->A
00000001->B
00000010->C
00000011->D
00000100->E
• ….ecosìvia
Linguaggi,CodificaeRappresentazionedell’Informazione
29/68
CodificadeiCaratteri– 4/5
American
Standard
Code
for
Information Interchange – ASCII
(Codice Standard Americano per lo
Scambio di Informazioni) è un codice
standard per la codifica dei caratteri
Linguaggi,CodificaeRappresentazionedell’Informazione
30/68
CodificadeiCaratteri- 5/5
• Soluzione: unaparola(opiùparole)saràrappresentatadalcomputer
comeunasuccessionedigruppidi8bit
O G G
01001111
01000111
01000111
I
01001001
P
00100000
01010000
I
01001001
O V E
01001111
01010110
Linguaggi,CodificaeRappresentazionedell’Informazione
01000101
31/68
SistemidiNumerazione
Posizionale– 1/5
• Ilnostrosistemadinumerazione
• Utilizzaunanotazioneposizionale edèinbase10
• L’alfabetoutilizzatoèl’insiemedeisimboli{0,1,2,…,9}
• Essendoposizionale,ilvalorediuna“sequenza”disimboliviene
calcolataassegnandodei“pesi”adognisimboloasecondadellasua
posizione
Base
P o sizio n i
3 2
1
0
4523 10 =
4×10 3 + 5×10 2 + 2×10 1 + 3×10 0
Stringa di simboli
migliaia
c e nti nai a
decine
uni t à
Linguaggi,CodificaeRappresentazionedell’Informazione
32/68
SistemidiNumerazione
Posizionale– 2/5
• 3251
•
•
•
•
• 745814763
3 unitàdimigliaia
2 centinaia
5 decine
1 unità
•
•
•
•
•
•
•
•
•
7 centinaiadimilioni
4 decinedimilioni
5 unitàdimilioni
8 centinaiadimigliaia
1 decinadimigliaia
4 unitàdimigliaia
7 centinaia
6 decine
3 unità
Linguaggi,CodificaeRappresentazionedell’Informazione
33/68
SistemidiNumerazione
Posizionale– 3/5
• Lastringadisimboliv puòessere
rappresentatacome
B è labase
delnumero
0≤ 𝐣 ≤ n − 1
èlaposizione (opeso)
delnumero
v =dn × Bn-1 +dn-1 × Bn-2 +...+d2 × B1 +d1 × B0
n è il numero
disimboli presenti inv
d è lacifra alla
iesima posizione nel numero
642 inbase10 può essere scritto come63 × 102 + 42 × 101 + 21 × 100
Linguaggi,CodificaeRappresentazionedell’Informazione
34/68
SistemidiNumerazione
Posizionale– 4/5
• Concettodibasedirappresentazione B
• Rappresentazionedelnumero comesequenzadisimboli,detticifre
• AppartenentiadunalfabetocompostodaB simbolidistinti
• Ognisimbolorappresentaunvalorefra0eB-1
• Ilvalorediunnumerov espressoinquestanotazioneèricavabile
• Apartiredalvalorerappresentatodaognisimbolo
• Pesatoinbaseallaposizionecheoccupanellasequenza
Linguaggi,CodificaeRappresentazionedell’Informazione
35/68
SistemidiNumerazione
Posizionale– 5/5
• Formalmente,ilvalorediunnumerov espressoinquestanotazioneè
datodallaformula
• DoveB èlabase
• dk (0≤ 𝑘 ≤ 𝑛 − 1)sonolecifre(compresetra0e𝐁 − 1)
• Osservazione: unasequenzadicifrenonèinterpretabilesenonsi
precisalabaseincuièespressa
Linguaggi,CodificaeRappresentazionedell’Informazione
36/68
SistemidiNumerazionepiù
Diffusi
Sistema
Base
Simboli
Usato
dagli
umani?
Usato dai
computer?
Decimale
10
0, 1, …, 9
Si
No
Binario
2
0, 1
No
Si
Ottale
8
0, 1, …, 7
No
No
Esadecimale
16
0, 1, …, 9,
A, B, … F
No
No
Linguaggi,CodificaeRappresentazionedell’Informazione
37/68
Esempio
2510 =110012 =318 =1916
Base
Linguaggi,CodificaeRappresentazionedell’Informazione
38/68
ConversionitraBasi(più
Diffuse)
• Lepossibilità
Decimale
Ottale
Binario
Esadecimale
Linguaggi,CodificaeRappresentazionedell’Informazione
39/68
DaDecimaleaDecimale
Decimale
Ottale
Binario
Esadecimale
Linguaggi,CodificaeRappresentazionedell’Informazione
40/68
DaDecimaleaDecimale
Peso
12510 =>
5 × 100 =
5 +
2 × 101 = 20 +
1 × 102 = 100
125
Base
Linguaggi,CodificaeRappresentazionedell’Informazione
41/68
DaBinarioaDecimale
Decimale
Ottale
Binario
Esadecimale
Linguaggi,CodificaeRappresentazionedell’Informazione
42/68
DaBinarioaDecimale:Tecnica
• Moltiplica ciascun bitper2n,doven è il “peso”delbit
• Ilpesoè dato dalla posizione delbit,apartire da0sulla destra
• Somma i risultati
1010112 =>
Bitin
posizione “0”
1
1
0
1
0
1
x
x
x
x
x
x
20
21
22
23
24
25
=
=
=
=
=
=
1
2
0
8
0
32
+
+
+
+
+
4310
Linguaggi,CodificaeRappresentazionedell’Informazione
43/68
DaBinarioaDecimale:Esempi
543210<- Posizioni
N2 = 101010
N10 = 1 x 25 + 0 x 24 + 1 x 23 + 0 x 22 + 1 x 21 + 0 x 20
= 32 + 8 + 2 = 42
N2 = 11011
N10 = 1 × 24 + 1 × 23 + 0 × 22 + 1 × 21 + 1 × 20
= 16 + 8 + 2 + 1= 27
Linguaggi,CodificaeRappresentazionedell’Informazione
44/68
DaBinarioaDecimale:Altri
Esempi
• 10011010 = 1×27 + 0×26 + 0×25 + 1×24 + 1×23 + 0×22 + 1×21 + 0×20
= 27 + 24 + 23 + 21
= 128 + 16 + 8 + 2
= 154
• 00101001 = 0×27 + 0×26 + 1×25 + 0×24 + 1×23 + 0×22 + 0×21 + 1×20
= 25 + 23 + 20
= 32 + 8 + 1
= 41
Linguaggi,CodificaeRappresentazionedell’Informazione
45/68
DaDecimaleaBinario
Decimale
Ottale
Binario
Esadecimale
Linguaggi,CodificaeRappresentazionedell’Informazione
46/68
DaDecimaleaBinario:Tecnica
• Dividiperdueetienitracciadelresto(divisioneeuclidea odivisioneconresto)
• Ilprimoresto èilbitinposizione0 (LSB,least-significant bit)
• Ilsecondoresto èilbitinposizione1
• Ecosìvia…
Linguaggi,CodificaeRappresentazionedell’Informazione
47/68
DaDecimaleaBinario:
Esempio
(Da decimale a binario)
X2 = ???
5110
51
1
2
25
1
X2 = 110011
2
12
0
2
6
0
2
3
1
2
1
1
2
0
5110 = 1×25+ 1×24 + 0×23 + 0×22 + 1×21 + 1×20
Linguaggi,CodificaeRappresentazionedell’Informazione
48/68
RappresentazionedegliInteri:
“ModuloeSegno”– 1/7
• N=0,+1,−1,+2,−2,+3,−3,…
• Come possiamo rappresentare ilsegno diun numero?
• Idea: Aggiungiamo un ulteriore bit che poniamo a
• 1 seilnumeroè negativo
• 0 altrimenti
Esempio
N10 = +14
N2 = 01110
N10 = -14
N2 = 11110
Linguaggi,CodificaeRappresentazionedell’Informazione
49/68
RappresentazionedegliInteri:
“ModuloeSegno”– 2/7
• Alfabetobinario
• Ancheilsegnoèrappresentatoda0o1
• Indispensabileindicareilnumerok dibitutilizzati
• Moduloesegno(rappresentazioneconkbit)
• 1bit disegno (0positivo,1negativo)
• Ilprimobitèdettobitpiùsignificativo (oMost Significant Bit- MSB)
• k−1 bit dimodulo
Linguaggi,CodificaeRappresentazionedell’Informazione
50/68
RappresentazionedegliInteri:
“ModuloeSegno”– 3/7
• Moduloesegno(rappresentazioneconkbit)
• 1bit disegno (0positivo,1negativo)
• Ilprimobitèdettobitpiùsignificativo (oMost Significant Bit- MSB)
• k−1 bit dimodulo
Esempio
• k=4
1
1
1
0
Linguaggi,CodificaeRappresentazionedell’Informazione
51/68
RappresentazionedegliInteri:
“ModuloeSegno”– 4/7
• Moduloesegno(rappresentazioneconkbit)
• 1bit disegno (0positivo,1negativo)
• Ilprimobitèdettobitpiùsignificativo (oMost Significant Bit- MSB)
• k−1 bit dimodulo
Esempio
• k=4
1
1
1
0
Modulo (k– 1 bit=4– 1 bit=3 bit)
Linguaggi,CodificaeRappresentazionedell’Informazione
52/68
RappresentazionedegliInteri:
“ModuloeSegno”– 5/7
• Moduloesegno(rappresentazioneconkbit)
• 1bit disegno (0positivo,1negativo)
• Ilprimobitèdettobitpiùsignificativo (oMost Significant Bit- MSB)
• k−1 bit dimodulo
Esempio
• k=4
1
1
1
0
Segno
Modulo (k– 1 bit=4– 1 bit=3 bit)
Linguaggi,CodificaeRappresentazionedell’Informazione
53/68
RappresentazionedegliInteri:
“ModuloeSegno”– 6/7
• Moduloesegno(rappresentazioneconkbit)
• 1bit disegno (0positivo,1negativo)
• Ilprimobitèdettobitpiùsignificativo (oMost Significant Bit- MSB)
• k−1 bit dimodulo
Esempio
• k=4
1
1
1
0
–6
10
Segno
Modulo (k– 1 bit=4– 1 bit=3 bit)
Linguaggi,CodificaeRappresentazionedell’Informazione
54/68
RappresentazionedegliInteri:
“ModuloeSegno”– 7/7
• Conkbitèpossibilerappresentareivalorida−2k-1+1a +2k-1−1
• Esempi
• 4bità valorichevannoda−7a+7
• 8bità valorichevannoda−127a+127
• Osservazione
• Duepossibilirappresentazionidello0
• Con4bit sono+010 =0000ms
−010= 1000ms
Linguaggi,CodificaeRappresentazionedell’Informazione
55/68
NumeriInteriinComplemento
aDue– 1/5
• Idea: l’interpretazioneposizionalevienemantenutaesimodifica
soltantoilpesodelbitpiùsignificativo,invertendolo
• Caratteristiche
• Lozerohaunarappresentazioneunica
• Tuttiinumerichehannoilbitpiùsignificativougualea1sononegativi(come
prima)
• Èsemprenecessariospecificareilnumerodibitk chesivuoleutilizzareper
rappresentareundeterminatonumero
• Sirappresentanoivalorida−2k−1 a+2k−1−1
• Con4bit ivalorivannoda−8 a+7
• Con8bit ivalorivannoda−128 a+127
Linguaggi,CodificaeRappresentazionedell’Informazione
56/68
NumeriInteriinComplemento
aDue– 2/5
• Consideriamoungenericonumerobinariosu8bit
• Perstabilirelacodificadiungenericonumeronegativon <0,sapendo
chenecessariamenteilbitpiùsignificativovapostoa1,èsufficiente
riportareneirestantibitilnumeropositivoche,sommatoa−27,dail
valoren
• Peresempio,proviamoacodificare−37.Essendounnumeronegativo,
ilbitpiùsignificativovale1:
−27
26
25
24
23
22
21
20
1
?
?
?
?
?
?
?
• Nellaparterestantedellatabelladovremoinserirequelnumeroche
sommatoa−128 da−37
• −128+x=−37=>x=128– 37=91
Linguaggi,CodificaeRappresentazionedell’Informazione
57/68
NumeriInteriinComplemento
aDue– 3/5
• Lacodificabinariadi91 è1011011,cheriportatonellatabella
precedenteforniscelacodificadesiderata:
−27
26
25
24
23
22
21
20
1
1
0
1
1
0
1
1
Linguaggi,CodificaeRappresentazionedell’Informazione
58/68
NumeriInteriinComplemento
aDue– 4/5
• Unmetodomoltocomodopercalcolarela
rappresentazionedi−X apartiredaquelladi+Xèil
seguente
• Idea: effettuareilcomplementodiognibitdiX,poiaggiungere1
1. Codificabinariadi+610 =>01102 (N.B.civogliono4bit)
2. Complementodituttiibit=>1001C2 (corrisponderebbea−710)
3. Aggiungere1=>1010C2 (checorrispondea−610)
−23+21 =−8+2=−6
1+1=0colriportodi1
Ilcomplementodi1è0
Ilcomplementodi0è1
1001+
1=
1010
Linguaggi,CodificaeRappresentazionedell’Informazione
59/68
NumeriInteriinComplemento
aDue– 5/5
• Estensionedel“segno”
• Ivaloripositiviinizianocon0,quellinegativicon1
• Datalarappresentazionediunnumerosukbit,larappresentazionedello
stessonumerosuk+1bitsiottieneaggiungendo(asinistra)unbitugualeal
primo
• Esempi
• Rappresentazionedi-6su4bit=1010
• Rappresentazionedi-6su5bit=11010
• Rappresentazionedi-6su8bit=11111010
Linguaggi,CodificaeRappresentazionedell’Informazione
60/68
Esercizi1
• Scrivereinbinariosempliceiseguentinumeriinbase10
• 5310
• 21110
• Scrivereinbinariosemplicesu7bitilnumero1310
• Scrivereinmoduloesegnosu7bitilnumero1310
• Scrivereinmoduloesegnosu7bitilnumero-1310
• Scrivereinmoduloesegnosu5bitilnumero1710
Linguaggi,CodificaeRappresentazionedell’Informazione
61/68
SoluzioneEsercizi
• Scrivereinbinariosemplicesu7bitilnumero1310
• 0001101
• Scrivereinmoduloesegnosu7bitilnumero1310
• 0001101
• Scrivereinmoduloesegnosu7bitilnumero-1310
• 1001101
• Scrivereinmoduloesegnosu5bitilnumero1710
• 10001,Inmoduloesegnoè-110
• RISPOSTA:Nonèpossibile.Hobisognodialmeno6bit(010001)
Linguaggi,CodificaeRappresentazionedell’Informazione
62/68
Esercizisvolti
• 53=32+16+4+1
=25 +24 +22 +20
=1*25 +1*24 +0*23 +1*22 +0*21 +1*20
=110101inbinario
• 211=128+64+16+2+1
=27 +26 +24 +21 +20
=1*27 +1*26 +0*25 +1*24 +0*23 +0*22 +
1*21 +1*20
=11010011inbinario
Linguaggi,CodificaeRappresentazionedell’Informazione
63/68
Esercizi2
• Scrivereinbinariosemplicesu7bitilnumero1110
• Scrivereinmoduloesegnosu8bitilnumero2510
• Scrivereinmoduloesegnosu7bitilnumero-1210
• Scrivereinmoduloesegnosu5bitilnumero2010
Linguaggi,CodificaeRappresentazionedell’Informazione
64/68
Indovinello:comecontaET?
• UnExtra-TerrestrevienesullaTerraecidicecheirediRomasono13.
Quanteditahal’Extra-Terrestre?
•
•
•
•
Il13deveessereinterpretatocomeunastringadisimboli
Nonconosciamolabasedellaloronumerazione
SappiamocheillorosistemadinumerazioneèPOSIZIONALE
SappiamocheindecimaleirediRomasono7
• EsedicessecheirediRomasono111?
Linguaggi,CodificaeRappresentazionedell’Informazione
65/68
Indovinello:comecontaET?
• UnExtra-TerrestrevienesullaTerraecidicecheirediRomasono13.
Quanteditahal’Extra-Terrestre?
•
•
•
•
Il13deveessereinterpretatocomeunastringadisimboli
Nonconosciamolabasedellaloronumerazione
SappiamocheillorosistemadinumerazioneèPOSIZIONALE
SappiamocheindecimaleirediRomasono7
13x = 1 * X1 + 3 * X0 = X + 3 = 710
ÞX=7–3=4
Þ L’Extra-Terrestre conta in base 4 per cui (sfruttando
l’esperienza del sistema decimale) possiamo dire che ha 4 dita
(2 per mano)
Þ L’Extra-Terrestre usa l’alfabeto {0, 1, 2, 3}
Linguaggi,CodificaeRappresentazionedell’Informazione
66/68
Esercizisusistemidi
numerazioneposizionale
• IrediRomasono710
• Base10,simboli{0,…,9}
710 = 7 * 100 = 710
• IrediRomasono134
• Base4,simboli{0,1,2,3}
134 = 1 * 41 + 3 * 40 = 710
• IrediRomasono1112
• Base2,simboli{0,1}
1112 =
1 * 22 + 1 * 21 + 1 * 20= 710
Linguaggi,CodificaeRappresentazionedell’Informazione
67/68
Riferimenti
• Libroditesto
• Capitolo2
• Paragrafi2,2.1[NOapprofondimento2.4],2.2,2.3,2.4,2.5[NOapprofondimento
2.5]
Linguaggi,CodificaeRappresentazionedell’Informazione
68/68