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