Fondamenti di Informatica - INTRANETcesposito/materiale/lezioni/Argomento02_Codi... · I Linguaggi...

110
Fondamenti di Informatica Linguaggi, Codifica e Rappresentazione dell’Informazione Prof. Christian Esposito Corso di Laurea in Ingegneria Meccanica e Gestionale (Classe I) A.A. 2017/18 Linguaggi, Codifica e Rappresentazione dell’Informazione

Transcript of Fondamenti di Informatica - INTRANETcesposito/materiale/lezioni/Argomento02_Codi... · I Linguaggi...

Page 1: Fondamenti di Informatica - INTRANETcesposito/materiale/lezioni/Argomento02_Codi... · I Linguaggi Formali •Sviluppati ed impiegati in tutti gli ambiti in cui è necessario evitare

FondamentidiInformaticaLinguaggi , Codif icaeRappresentazionedel l ’ Informazione

Prof. Chr i st ian Espos i toCorso d i Laurea in Ingegner ia Meccanica e Gest iona le (C lasse I )A .A . 2017/18

Linguaggi,CodificaeRappresentazionedell’Informazione

Page 2: Fondamenti di Informatica - INTRANETcesposito/materiale/lezioni/Argomento02_Codi... · I Linguaggi Formali •Sviluppati ed impiegati in tutti gli ambiti in cui è necessario evitare

Cosaabbiamovistolavoltascorsa

• Glielaboratorisonostrumentiperrisolvere(oaiutarearisolvere)problemibasatisulleinformazioni

• Macomeciòavviene?1. Abbiamobisognodicodificare ememorizzareopportunamente

dati einformazioni2. Abbiamobisognodiimpartire legiusteistruzioniperrisolvere

correttamenteproblemi

Linguaggi,CodificaeRappresentazionedell’Informazione 01/109

Page 3: Fondamenti di Informatica - INTRANETcesposito/materiale/lezioni/Argomento02_Codi... · I Linguaggi Formali •Sviluppati ed impiegati in tutti gli ambiti in cui è necessario evitare

Cosavedremooggi• Glielaboratorisonostrumentiperrisolvere(oaiutarearisolvere)problemibasatisulleinformazioni

• Macomeciòavviene?1. Abbiamobisognodicodificareememorizzareopportunamente

datieinformazioni2. Abbiamobisognodiimpartire legiusteistruzioniperrisolvere

correttamenteproblemi

Linguaggi,CodificaeRappresentazionedell’Informazione 02/109

Page 4: Fondamenti di Informatica - INTRANETcesposito/materiale/lezioni/Argomento02_Codi... · I Linguaggi Formali •Sviluppati ed impiegati in tutti gli ambiti in cui è necessario evitare

QualeLinguaparla l’Elaboratore?• Comerendere dati einformazioni comprensibili adunelaboratore?

• Informazioni edati peressere trattati daunelaboratore devono essereopportunamente codificati

Linguaggi,CodificaeRappresentazionedell’Informazione 03/109

Page 5: Fondamenti di Informatica - INTRANETcesposito/materiale/lezioni/Argomento02_Codi... · I Linguaggi Formali •Sviluppati ed impiegati in tutti gli ambiti in cui è necessario evitare

Linguaggio• Alfabeto

• Collezionedisimboligrafici,aventidisolitounordinebenpreciso,cheservonoarappresentareleparolediunalingua

• I simbolispesso(manonsempre)sonolettereovverorappresentazionescrittadisuonilinguistici

• Vocabolario(olessico)• Insiemedelleparoleammissibilidiunalingua

• Grammatica• Insiemediregoleutiliallacorrettacostruzionedifrasi,sintagmieparole

• Ilterminesiriferisceallostudiodellesuddetteregole

• Semantica• Studiailsignificatodelleparole(semanticalessicale),degliinsiemidelleparole,dellefrasi(semanticafrasale)edeitesti

Linguaggi,CodificaeRappresentazionedell’Informazione 04/109

Page 6: Fondamenti di Informatica - INTRANETcesposito/materiale/lezioni/Argomento02_Codi... · I Linguaggi Formali •Sviluppati ed impiegati in tutti gli ambiti in cui è necessario evitare

LaFunzionedeiLinguaggi• Ilinguaggi(verbali,nonverbali,orali,scritti,etc.)sonostrumentichecontribuisconoa• Rappresentareleinformazioni

• Concetti,pensieri,emozioni,etc.,vengonoformalizzatiattraversoilinguaggiperpoteresserememorizzati,trasferitiedelaborati

• Memorizzareleinformazioni• Lascrittura

• Trasferireleinformazioni• Lacomunicazione

• Elaborareleinformazioni• Lededuzioninellalogica

Linguaggi,CodificaeRappresentazionedell’Informazione 05/109

Page 7: Fondamenti di Informatica - INTRANETcesposito/materiale/lezioni/Argomento02_Codi... · I Linguaggi Formali •Sviluppati ed impiegati in tutti gli ambiti in cui è necessario evitare

ProblemirelativiaiLinguaggi• Accordosuisimboli

• abcdef g…

• Accordosullessico• casa,gatto,automobile,vado,…

• Accordosullagrammatica• <soggettoverbocomplemento>

• Accordosullasemantica• Lanonnachiudelaporta(OK)• Laportachiudelanonna(NO)

• Accordosullacodifica• Regolepertrasformaresimboli,paroleefrasidiunlinguaggioinunanuovarappresentazioneconpossibilitàdieffettuareinmanieracorrettaanchel’operazioneinversa• “a”incodiceMorse(SamuelMorse,pittoreestoricoinglese)è“.– ”• “b”incodiceMorseè“– ...”

Linguaggi,CodificaeRappresentazionedell’Informazione 06/109

Page 8: Fondamenti di Informatica - INTRANETcesposito/materiale/lezioni/Argomento02_Codi... · I Linguaggi Formali •Sviluppati ed impiegati in tutti gli ambiti in cui è necessario evitare

CodiceBraille• Lettera“a”

• Lettera“b”

Linguaggi,CodificaeRappresentazionedell’Informazione 07/109

Page 9: Fondamenti di Informatica - INTRANETcesposito/materiale/lezioni/Argomento02_Codi... · I Linguaggi Formali •Sviluppati ed impiegati in tutti gli ambiti in cui è necessario evitare

CodificadeiNumeri• Linguaggiodipartenza

• Inumeri

• Codifica1• Numerazionedecimale

• 5,45,670

• Codifica2• Numerazionebinaria

• 101,…

• Codifica3

Linguaggi,CodificaeRappresentazionedell’Informazione 08/109

Page 10: Fondamenti di Informatica - INTRANETcesposito/materiale/lezioni/Argomento02_Codi... · I Linguaggi Formali •Sviluppati ed impiegati in tutti gli ambiti in cui è necessario evitare

Quipo• Quipo èuninsiemedicordicelleannodate,distanziateinmodosistematicotraloroelegateaunacordapiùgrossaecortachelesorregge.

•Iquipo servivanopericalcolimatematici.Inodidellecordesonodidiversicolori:rappresentavanonumeri,edallalororeciprocaposizionesenepotevanoricavareleunità,ledecine,lecentinaiaelemigliaia.

Linguaggi,CodificaeRappresentazionedell’Informazione 09/109

Page 11: Fondamenti di Informatica - INTRANETcesposito/materiale/lezioni/Argomento02_Codi... · I Linguaggi Formali •Sviluppati ed impiegati in tutti gli ambiti in cui è necessario evitare

ILinguaggiNaturali:Ambiguità• Percomunicaretralorogliuominihannosviluppatoilinguagginaturali

• Italiano,inglese,francese,etc

• Unacaratteristicanegativa ditalilinguaggièlaloroinerenteambiguità• Unaqualsiasifrase formulataèpotenzialmentepolisemica• Ilsignificatochevienedatoallafrasedachiriceveilmessaggiopuòesserediversodaquellodatoglidalmittente

• Comprendereilsignificatodiunafraseinlinguaggionaturale èpiùsemplicesequestavienepronunciatainundatocontesto

Linguaggi,CodificaeRappresentazionedell’Informazione 10/109

Page 12: Fondamenti di Informatica - INTRANETcesposito/materiale/lezioni/Argomento02_Codi... · I Linguaggi Formali •Sviluppati ed impiegati in tutti gli ambiti in cui è necessario evitare

ILinguaggiNaturali:Disambiguazione

• Comprendereilsignificatodiunafraseinlinguaggionaturaleèpiùsemplicesequestavienepronunciatainundatocontesto• ConcorsoIppico• CircoloScacchistico• Sartoria• Palestra

Linguaggi,CodificaeRappresentazionedell’Informazione 11/109

Page 13: Fondamenti di Informatica - INTRANETcesposito/materiale/lezioni/Argomento02_Codi... · I Linguaggi Formali •Sviluppati ed impiegati in tutti gli ambiti in cui è necessario evitare

ILinguaggiNaturalinellaComunicazioneconiCalcolatori

• Percomunicareconunelaboratore,l’ambiguità deilinguagginaturalirappresentaungrossoproblema

• Bisognerebbefornireall’elaboratoreancheilcontestoelaconoscenza(leregole)perdisambiguarelefrasi• Larappresentazione(comprensibilealcalcolatore)dicontestoeregoleèmoltocomplicata

• Inalcunicasiladisambiguazioneèdifficileanchepergliuomini

• Ènecessariol’utilizzodeicosiddettiLinguaggiFormali

Linguaggi,CodificaeRappresentazionedell’Informazione 12/109

Page 14: Fondamenti di Informatica - INTRANETcesposito/materiale/lezioni/Argomento02_Codi... · I Linguaggi Formali •Sviluppati ed impiegati in tutti gli ambiti in cui è necessario evitare

ILinguaggiFormali• Sviluppatiedimpiegatiintuttigliambitiincuiènecessarioevitarel’ambiguità• Informatica,matematica,logica,etc

• LadefinizionediunLinguaggioFormaleprevede• L’individuazionediunalfabeto,ovvero,diunelenco(finito)disimboli• Ladefinizionediunagrammaticaformale,ovverouninsiemediregolesintattichechespecificanocomeisimbolidell’alfabetopossonoesserecombinatitraloropercostituirelefrasibenformateall’internodellinguaggiostesso

• Inoltre,lesemanticheformaliconsentonodiattribuireunsignificatononambiguoallefrasiinunlinguaggioformale

Linguaggi,CodificaeRappresentazionedell’Informazione 13/109

Page 15: Fondamenti di Informatica - INTRANETcesposito/materiale/lezioni/Argomento02_Codi... · I Linguaggi Formali •Sviluppati ed impiegati in tutti gli ambiti in cui è necessario evitare

UsareeProgrammareilcomputer

• IProgrammi(osoftware)risolvonoproblemispecificiconapprocciobasatosulleinformazionievengonoeseguitidaicomputer

Usare programmi realizzati da altri

Programmare

scrivere su Facebook

scrivere una relazione con Word

realizzareProgrammi complessi come ad es. Facebook

realizzarecontenuti didattici interattivi

realizzareProgrammi con Matlab

Linguaggi naturali

Linguaggi formali (di programmazione)

Numeri binari, codifica binaria dei caratteri, etc.

Linguaggi,CodificaeRappresentazionedell’Informazione 14/109

Page 16: Fondamenti di Informatica - INTRANETcesposito/materiale/lezioni/Argomento02_Codi... · I Linguaggi Formali •Sviluppati ed impiegati in tutti gli ambiti in cui è necessario evitare

Rappresentazionedell’Informazione:AccordosuiSimboli

• L’informazioneèrappresentatadaidati,chealorovoltasonoespressiin formadisimboli

• Lastessainformazione puòesserecodificataconsimboliemodalitàdiverse• 1963->simboli“0”,“1”,“2”,…• MCMLXIII->simbolidellacodificaromana• Millenovecentosessantatre ->rappresentazionetestuale• …

Linguaggi,CodificaeRappresentazionedell’Informazione 15/109

Page 17: Fondamenti di Informatica - INTRANETcesposito/materiale/lezioni/Argomento02_Codi... · I Linguaggi Formali •Sviluppati ed impiegati in tutti gli ambiti in cui è necessario evitare

Rappresentazionedell’informazioneneicalcolatori– 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/109

Page 18: Fondamenti di Informatica - INTRANETcesposito/materiale/lezioni/Argomento02_Codi... · I Linguaggi Formali •Sviluppati ed impiegati in tutti gli ambiti in cui è necessario evitare

Rappresentazionedell’informazioneneicalcolatori– 2/2

• Pertrattare(memorizzare,elaborare,trasmettere,etc.)l’informazione,ilcalcolatore• Codifica l’informazionedisponibilescrivendosuunsupportofisico• Manipola ilsupportoconopportunetrasformazionifisiche,ottenendounaversionemodificatadelsupporto

• Decodifica l’informazionecorrispondentealrisultatodell’elaborazioneleggendodallaversionemodificatadelsupporto

Linguaggi,CodificaeRappresentazionedell’Informazione 17/109

Page 19: Fondamenti di Informatica - INTRANETcesposito/materiale/lezioni/Argomento02_Codi... · I Linguaggi Formali •Sviluppati ed impiegati in tutti gli ambiti in cui è necessario evitare

CodificaBinaria• Alfabetobinario: usiamosoloduecifre0,1(bit)

• Problema: assegnareunasequenzadibitunivocaatuttiglioggettiinuninsiemepredefinito

• 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/109

Page 20: Fondamenti di Informatica - INTRANETcesposito/materiale/lezioni/Argomento02_Codi... · I Linguaggi Formali •Sviluppati ed impiegati in tutti gli ambiti in cui è necessario evitare

CombinazionidiBitBit a disposizione

Lecombinazioni Il numero di combinazioni

1 0, 1 2 =21

2 00, 01, 10,11 4 =22

3 000, 001, 010, 011, 100,101,110, 111

8 =23

4 0000, 0001, 0010, 0011,0100, 16 =24

0101, 0110, 0111,1000,1001,1010, 1011, 1100, 1101,1110,1111

5 00000, 00001, 00010,… 32 =25

… … …

Linguaggi,CodificaeRappresentazionedell’Informazione 19/109

Page 21: Fondamenti di Informatica - INTRANETcesposito/materiale/lezioni/Argomento02_Codi... · I Linguaggi Formali •Sviluppati ed impiegati in tutti gli ambiti in cui è necessario evitare

UnPrimoEsempiodiCodifica:Interruttore

• Duesolepossibilità(stati)• Spento• Acceso

• L’informazionesullostatodell’interruttorecorrispondedunqueallasceltafraduesolealternative

Linguaggi,CodificaeRappresentazionedell’Informazione 20/109

Page 22: Fondamenti di Informatica - INTRANETcesposito/materiale/lezioni/Argomento02_Codi... · I Linguaggi Formali •Sviluppati ed impiegati in tutti gli ambiti in cui è necessario evitare

UnPrimoEsempiodiCodifica:Interruttore

• 1bitrappresentalostatodell’interruttore• Interruttoreacceso:1• Interruttorespento:0

Linguaggi,CodificaeRappresentazionedell’Informazione 21/109

Page 23: Fondamenti di Informatica - INTRANETcesposito/materiale/lezioni/Argomento02_Codi... · I Linguaggi Formali •Sviluppati ed impiegati in tutti gli ambiti in cui è necessario evitare

Codificadiun’InformazioneconPiùdiDueStati:IlSemaforo

Linguaggi,CodificaeRappresentazionedell’Informazione 22/109

Page 24: Fondamenti di Informatica - INTRANETcesposito/materiale/lezioni/Argomento02_Codi... · I Linguaggi Formali •Sviluppati ed impiegati in tutti gli ambiti in cui è necessario evitare

DiverseCodificheperleStesseInformazioni

• Rappresentazionedeglistatidiunsemaforomediantebit

Stato Codifica

ROSSO 1 0 0

VERDE 001

GIALLO 0 1 0

Stato CodificaROSSO 0 0

VERDE 01

GIALLO 1 0

3 bit

2 bit

Linguaggi,CodificaeRappresentazionedell’Informazione 23/109

Page 25: Fondamenti di Informatica - INTRANETcesposito/materiale/lezioni/Argomento02_Codi... · I Linguaggi Formali •Sviluppati ed impiegati in tutti gli ambiti in cui è necessario evitare

Codificadiun’InformazioneconPiùdiDueStati:GiornidellaSettimana

• Problema: assegnareuncodicebinariounivocoatuttiigiornidellasettimana

• Giornidellasettimana:N =7=>𝑘 ≥ 𝑙𝑜𝑔27 => 𝑘 = 3

• Con3bitpossiamoottenere8diversesequenze• Neservono7,qualiutilizziamo?• Qualeconfigurazioneassociamoaqualegiorno?

• Osservazione: quantodettofinoadoravalesottol’ipotesicheicodiciabbianotuttilastessalunghezza

Linguaggi,CodificaeRappresentazionedell’Informazione 24/109

Page 26: Fondamenti di Informatica - INTRANETcesposito/materiale/lezioni/Argomento02_Codi... · I Linguaggi Formali •Sviluppati ed impiegati in tutti gli ambiti in cui è necessario evitare

IGiornidellaSettimanainBinario

Lunedì

Martedì

Mercoledì

Giovedì

Venerdì

Sabato

Domenica

000001010011100101

111110

Lunedì Martedì

Giovedì Mercoledì

Sabato Venerdì

Domenica

00

01

10

11

LunedìGiovedì

MartedìMercoledì

Sabato

Venerdì

Domenica

0

1

Lunedì

Sabato

Giovedì

Venerdì

Martedì

Domenica

Mercoledì

1 bit2 “gruppi”

2 bit4 “gruppi”

3 bit8 “gruppi”

Linguaggi,CodificaeRappresentazionedell’Informazione 25/109

Page 27: Fondamenti di Informatica - INTRANETcesposito/materiale/lezioni/Argomento02_Codi... · I Linguaggi Formali •Sviluppati ed impiegati in tutti gli ambiti in cui è necessario evitare

IGiornidellaSettimanainBinario

Lunedì

Martedì

Mercoledì

Giovedì

Venerdì

Sabato

Domenica

000001010011100101

111110

Giovedì

Lunedì

Venerdì

MartedìSabato

MercoledìDomenica

00

01

10

11

Sabato

Giovedì

Martedì

DomenicaLunedì

Mercoledì

Venerdì

0

1

Lunedì

Sabato

Giovedì

Venerdì

Martedì

Domenica

Mercoledì

1 bit2 “gruppi”

2 bit4 “gruppi”

3 bit8 “gruppi”

Linguaggi,CodificaeRappresentazionedell’Informazione 26/109

Page 28: Fondamenti di Informatica - INTRANETcesposito/materiale/lezioni/Argomento02_Codi... · I Linguaggi Formali •Sviluppati ed impiegati in tutti gli ambiti in cui è necessario evitare

CodificadeiCaratteri– 1/5• Problema: èpossibileapplicarequesteideeallarappresentazionediinformazionepiùcomplessa,adesempiodiuntesto?• Untestoèrappresentatoattraversounasuccessionedicaratteri• Ognicaratterevienesceltoall’internodiuninsiemefinitodisimboli(alfabeto)

Linguaggi,CodificaeRappresentazionedell’Informazione 27/109

Page 29: Fondamenti di Informatica - INTRANETcesposito/materiale/lezioni/Argomento02_Codi... · I Linguaggi Formali •Sviluppati ed impiegati in tutti gli ambiti in cui è necessario evitare

CodificadeiCaratteri– 2/5• Con8bit,èpossibilerappresentarelasceltafra256alternativediverse(28=256)• Da00000000…a11111111• Passandopertuttelecombinazioniintermedie(00000001,00000010,…)

• Nelcasodeltesto,possiamofarcorrisponderediversecombinazionidi8bit(ottocellette,ciascunadellequalipuòcontenere0o1)acaratteridiversi

OgnisingoloCARATTEREvienecodificatoconunacombinazionedi8

bit

Linguaggi,CodificaeRappresentazionedell’Informazione 28/109

Page 30: Fondamenti di Informatica - INTRANETcesposito/materiale/lezioni/Argomento02_Codi... · I Linguaggi Formali •Sviluppati ed impiegati in tutti gli ambiti in cui è necessario evitare

CodificadeiCaratteri– 3/5• Adesempio:

• 00000000->A• 00000001->B• 00000010->C• 00000011->D• 00000100->E

• ….ecosìvia

Linguaggi,CodificaeRappresentazionedell’Informazione 29/109

Page 31: Fondamenti di Informatica - INTRANETcesposito/materiale/lezioni/Argomento02_Codi... · I Linguaggi Formali •Sviluppati ed impiegati in tutti gli ambiti in cui è necessario evitare

CodificadeiCaratteri– 4/5

Linguaggi,CodificaeRappresentazionedell’Informazione 30/109

• Sono stati proposti vari standard per lacodifica dei caratteri, tra cui il piùdiffuso è quello ASCII (AmericanStandard Code for InformationInterchange) del 1968, che con 7 bitcodifica un alfabeto di 128 caratteri.

•Lo standard che sta prendendo piede eche dovrebbe essere il successore diASCII è UTF-8 del 1992, codificaprincipale di Unicode per Internetsecondo il W3C.

Page 32: Fondamenti di Informatica - INTRANETcesposito/materiale/lezioni/Argomento02_Codi... · I Linguaggi Formali •Sviluppati ed impiegati in tutti gli ambiti in cui è necessario evitare

CodificadeiCaratteri- 5/5• Soluzione: unaparola(opiùparole)saràrappresentatadalcomputercomeunasuccessionedigruppidi8bit

O G G I P I O V E01001111 01000111 01000111 01001001 00100000 01010000 01001001 01001111 01010110 01000101

Linguaggi,CodificaeRappresentazionedell’Informazione 31/109

Page 33: Fondamenti di Informatica - INTRANETcesposito/materiale/lezioni/Argomento02_Codi... · I Linguaggi Formali •Sviluppati ed impiegati in tutti gli ambiti in cui è necessario evitare

LaCodificadeiNumeri• Obiettivo

• Codificainbinariodeinumeriperfavorirel’elaborazione dapartedeicalcolatori

• Vincoli• Codificaedecodificadevonoesseredefiniteinmanierataledapoteresserecompiuteinmanieraautomatica

• Problema• Deveesserepossibilecodificaretuttiinumeri

• 0,1,2,3,…• -1,-2,-3,…• -12.4,-2.004,0.56,134.89,…

• …insequenze• 0000000,000001,000010,…

Linguaggi,CodificaeRappresentazionedell’Informazione 32/109

Page 34: Fondamenti di Informatica - INTRANETcesposito/materiale/lezioni/Argomento02_Codi... · I Linguaggi Formali •Sviluppati ed impiegati in tutti gli ambiti in cui è necessario evitare

NotazionePosizionale• Concettodibasedirappresentazione B

• Rappresentazionedelnumero comesequenzadisimboli,detticifre• AppartenentiadunalfabetocompostodaB simbolidistinti

• Ognisimbolorappresentaunvalorefra0eB-1

• Ilvalorediunnumerov espressoinquestanotazioneèricavabile• Apartiredalvalorerappresentatodaognisimbolo• Pesatoinbaseallaposizionecheoccupanellasequenza

Linguaggi,CodificaeRappresentazionedell’Informazione 33/109

Page 35: Fondamenti di Informatica - INTRANETcesposito/materiale/lezioni/Argomento02_Codi... · I Linguaggi Formali •Sviluppati ed impiegati in tutti gli ambiti in cui è necessario evitare

ValorediunNumeroinNotazionePosizionale

• Formalmente,ilvalorediunnumerov espressoinquestanotazioneèdatodallaformula

• DoveB èlabase

• dk (0≤ 𝑘 ≤ 𝑛 − 1)sonolecifre(compresetra0e𝐁 − 1)

• Osservazione: unasequenzadicifrenonèinterpretabilesenonsiprecisalabaseincuièespressa

Linguaggi,CodificaeRappresentazionedell’Informazione 34/109

Page 36: Fondamenti di Informatica - INTRANETcesposito/materiale/lezioni/Argomento02_Codi... · I Linguaggi Formali •Sviluppati ed impiegati in tutti gli ambiti in cui è necessario evitare

NotazionePosizionale• Unnumerov puòessererappresentatocome

v =dn *Bn-1 +dn-1 *Bn-2 +...+d2 *B1 +d1*B0

642può essere scritto come63 *102 + 42 *10+ 21

Bè labasedelnumero

nè il numerodicifre nel numero

dè lacifra allaiesima posizione nel numero

Linguaggi,CodificaeRappresentazionedell’Informazione 35/109

Page 37: Fondamenti di Informatica - INTRANETcesposito/materiale/lezioni/Argomento02_Codi... · I Linguaggi Formali •Sviluppati ed impiegati in tutti gli ambiti in cui è necessario evitare

SistemidiNumerazionePosizionale

• Ilnostrosistemadinumerazione• Utilizzaunanotazioneposizionale edèinbase10• L’alfabetoutilizzatoèl’insiemedeisimboli{0,1,2,…,9}• Nonèl’unicosistemapossibile

• Essendoposizionale,ilvalorediuna“sequenza”disimbolivienecalcolataassegnandodei“pesi”adognisimboloasecondadellasuaposizione

452310 =4*103 + 5*102+2*101+ 3*100

migliaia cent inaia dec ine uni tà

3 2 1 0Posizion i

Stringa di simboli

Base

Linguaggi,CodificaeRappresentazionedell’Informazione 36/109

Page 38: Fondamenti di Informatica - INTRANETcesposito/materiale/lezioni/Argomento02_Codi... · I Linguaggi Formali •Sviluppati ed impiegati in tutti gli ambiti in cui è necessario evitare

SistemidiNumerazionePosizionale

• 3251• 1 unità,5 decine,2 centinaia,3 unitàdimigliaia

• 745814763• 3 unità,6 decine,7 centinaia,4 unitàdimigliaia,1 decinadimigliaia,8centinaiadimigliaia,5 unitàdimilioni,4 decinedimilioni,7 centinaiadimilioni

Linguaggi,CodificaeRappresentazionedell’Informazione 37/109

Page 39: Fondamenti di Informatica - INTRANETcesposito/materiale/lezioni/Argomento02_Codi... · I Linguaggi Formali •Sviluppati ed impiegati in tutti gli ambiti in cui è necessario evitare

SistemidiNumerazionepiùDiffusi

Sistema Base SimboliUsatodagliumani?

Usato daicomputer?

Decimale 10 0, 1, … 9 Si NoBinario 2 0, 1 No SiOttale 8 0, 1, … 7 No No

Esadecimale 16 0, 1, … 9,A, B, … F

No No

Linguaggi,CodificaeRappresentazionedell’Informazione 38/109

Page 40: Fondamenti di Informatica - INTRANETcesposito/materiale/lezioni/Argomento02_Codi... · I Linguaggi Formali •Sviluppati ed impiegati in tutti gli ambiti in cui è necessario evitare

Esempio

2510 =110012 =318 =1916

Base

Linguaggi,CodificaeRappresentazionedell’Informazione 39/109

Page 41: Fondamenti di Informatica - INTRANETcesposito/materiale/lezioni/Argomento02_Codi... · I Linguaggi Formali •Sviluppati ed impiegati in tutti gli ambiti in cui è necessario evitare

ConversionitraBasi(piùDiffuse)

• Lepossibilità

Esadecimale

Decimale Ottale

Binario

Linguaggi,CodificaeRappresentazionedell’Informazione 40/109

Page 42: Fondamenti di Informatica - INTRANETcesposito/materiale/lezioni/Argomento02_Codi... · I Linguaggi Formali •Sviluppati ed impiegati in tutti gli ambiti in cui è necessario evitare

Dadecimaleadecimale

Esadecimale

Decimale Ottale

Binario

Linguaggi,CodificaeRappresentazionedell’Informazione 41/109

Page 43: Fondamenti di Informatica - INTRANETcesposito/materiale/lezioni/Argomento02_Codi... · I Linguaggi Formali •Sviluppati ed impiegati in tutti gli ambiti in cui è necessario evitare

DaDecimaleaDecimale

Linguaggi,CodificaeRappresentazionedell’Informazione 42/109

12510 => 5 x 100 = 5 +2 x 101 = 20 +1 x 102 = 100

125

Base

Peso

Page 44: Fondamenti di Informatica - INTRANETcesposito/materiale/lezioni/Argomento02_Codi... · I Linguaggi Formali •Sviluppati ed impiegati in tutti gli ambiti in cui è necessario evitare

DaBinarioaDecimale

Esadecimale

Decimale Ottale

Binario

Linguaggi,CodificaeRappresentazionedell’Informazione 43/109

Page 45: Fondamenti di Informatica - INTRANETcesposito/materiale/lezioni/Argomento02_Codi... · I Linguaggi Formali •Sviluppati ed impiegati in tutti gli ambiti in cui è necessario evitare

DaBinarioaDecimale:Tecnica• Moltiplica ciascun bitper2n,doven è il “peso”delbit

• Ilpesoè dato dalla posizione delbit,apartire da0sulla destra

• Somma i risultati

Linguaggi,CodificaeRappresentazionedell’Informazione 44/109

Page 46: Fondamenti di Informatica - INTRANETcesposito/materiale/lezioni/Argomento02_Codi... · I Linguaggi Formali •Sviluppati ed impiegati in tutti gli ambiti in cui è necessario evitare

DaBinarioaDecimale:Esempio

Linguaggi,CodificaeRappresentazionedell’Informazione 45/109

1010112 => 1 x 20 = 1 +1 x 21 = 2 +0 x 22 = 0 +1 x 23 = 8 +0 x 24 = 0 +1 x 25 = 32

4310

Bitinposizione “0”

Page 47: Fondamenti di Informatica - INTRANETcesposito/materiale/lezioni/Argomento02_Codi... · I Linguaggi Formali •Sviluppati ed impiegati in tutti gli ambiti in cui è necessario evitare

DaBinarioaDecimale:Esempio

Linguaggi,CodificaeRappresentazionedell’Informazione 46/109

N2 = 101010

N10 = 1 x 25 + 0 x 24 + 1 x + 0 x 22 + 1 x + 0 x 20

= 32 + 8 + 2 = 42

N2 = 11011

N10 = 20 + 21 + 23 + 24 = 1 + 2 + 8 + 16 = 27

23 21

Page 48: Fondamenti di Informatica - INTRANETcesposito/materiale/lezioni/Argomento02_Codi... · I Linguaggi Formali •Sviluppati ed impiegati in tutti gli ambiti in cui è necessario evitare

DaBinarioaDecimale:AltriEsempi

• 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 47/109

Page 49: Fondamenti di Informatica - INTRANETcesposito/materiale/lezioni/Argomento02_Codi... · I Linguaggi Formali •Sviluppati ed impiegati in tutti gli ambiti in cui è necessario evitare

DaDecimaleaBinario

Esadecimale

Decimale Ottale

Binario

Linguaggi,CodificaeRappresentazionedell’Informazione 48/109

Page 50: Fondamenti di Informatica - INTRANETcesposito/materiale/lezioni/Argomento02_Codi... · I Linguaggi Formali •Sviluppati ed impiegati in tutti gli ambiti in cui è necessario evitare

DaDecimaleaBinario:Tecnica• Dividiperdueetienitracciadelresto

• Ilprimoresto èilbitinposizione0 (LSB,least-significant bit)

• Ilsecondoresto èilbitinposizione1

• Ecosìvia…

Linguaggi,CodificaeRappresentazionedell’Informazione 49/109

Page 51: Fondamenti di Informatica - INTRANETcesposito/materiale/lezioni/Argomento02_Codi... · I Linguaggi Formali •Sviluppati ed impiegati in tutti gli ambiti in cui è necessario evitare

DaDecimaleaBinario:Esempio

2 0 1

2 1 1

2 3 1

2 7 1

2 15 1

2 31 0

2 12562 1

12510 = 11111012

12510 = ?2

Linguaggi,CodificaeRappresentazionedell’Informazione 50/109

Page 52: Fondamenti di Informatica - INTRANETcesposito/materiale/lezioni/Argomento02_Codi... · I Linguaggi Formali •Sviluppati ed impiegati in tutti gli ambiti in cui è necessario evitare

DaDecimaleaBinario:Esempio

N10 = 51(Da decimale a binario)

N2 = ???

511

225 2

1 12 20 6

0231

211

20N2 = 110011

51 = 1*25+1*24+0*23+0*22 +1*21+1*20

Linguaggi,CodificaeRappresentazionedell’Informazione 51/109

Page 53: Fondamenti di Informatica - INTRANETcesposito/materiale/lezioni/Argomento02_Codi... · I Linguaggi Formali •Sviluppati ed impiegati in tutti gli ambiti in cui è necessario evitare

DaOttaleaDecimale

Esadecimale

Decimale Ottale

Binario

Linguaggi,CodificaeRappresentazionedell’Informazione 52/109

Page 54: Fondamenti di Informatica - INTRANETcesposito/materiale/lezioni/Argomento02_Codi... · I Linguaggi Formali •Sviluppati ed impiegati in tutti gli ambiti in cui è necessario evitare

DaOttaleaDecimale:Tecnica• Moltiplica ciascun bitper8n,doven è il “peso”delbit

• Ilpesoè dato dalla posizione delbit,apartire da0sulla destra

• Somma i risultati

Linguaggi,CodificaeRappresentazionedell’Informazione 53/109

Page 55: Fondamenti di Informatica - INTRANETcesposito/materiale/lezioni/Argomento02_Codi... · I Linguaggi Formali •Sviluppati ed impiegati in tutti gli ambiti in cui è necessario evitare

DaOttaleaDecimale:Esempio

7248 =>4 x 80 = 4 +2 x 81 = 16 +7 x 82 = 448

46810

Linguaggi,CodificaeRappresentazionedell’Informazione 54/109

Page 56: Fondamenti di Informatica - INTRANETcesposito/materiale/lezioni/Argomento02_Codi... · I Linguaggi Formali •Sviluppati ed impiegati in tutti gli ambiti in cui è necessario evitare

DaEsadecimaleaDecimale

Esadecimale

Decimale Ottale

Binario

Linguaggi,CodificaeRappresentazionedell’Informazione 55/109

Page 57: Fondamenti di Informatica - INTRANETcesposito/materiale/lezioni/Argomento02_Codi... · I Linguaggi Formali •Sviluppati ed impiegati in tutti gli ambiti in cui è necessario evitare

DaEsadecimaleaDecimale:Tecnica

• Moltiplica ciascun bitper16n,doven è il “peso”delbit• Ilpesoè dato dalla posizione delbit,apartire da0sulla destra

• Somma i risultati

Linguaggi,CodificaeRappresentazionedell’Informazione 56/109

Page 58: Fondamenti di Informatica - INTRANETcesposito/materiale/lezioni/Argomento02_Codi... · I Linguaggi Formali •Sviluppati ed impiegati in tutti gli ambiti in cui è necessario evitare

DaEsadecimaleaDecimale:Esempio

ABC16 => C x 160 = 12 x 1 = 12 +B x 161 = 11 x 16 = 176 +A x 162 = 10 x 256 = 2560

274810

Linguaggi,CodificaeRappresentazionedell’Informazione 57/109

Page 59: Fondamenti di Informatica - INTRANETcesposito/materiale/lezioni/Argomento02_Codi... · I Linguaggi Formali •Sviluppati ed impiegati in tutti gli ambiti in cui è necessario evitare

DaOttaleaBinario

Esadecimale

Decimale Ottale

Binario

Linguaggi,CodificaeRappresentazionedell’Informazione 58/109

Page 60: Fondamenti di Informatica - INTRANETcesposito/materiale/lezioni/Argomento02_Codi... · I Linguaggi Formali •Sviluppati ed impiegati in tutti gli ambiti in cui è necessario evitare

DaOttaleaBinario:Tecnica• Convertiognicifraottaleinunarappresentazionebinariaequivalentea3-bit

Linguaggi,CodificaeRappresentazionedell’Informazione 59/109

Page 61: Fondamenti di Informatica - INTRANETcesposito/materiale/lezioni/Argomento02_Codi... · I Linguaggi Formali •Sviluppati ed impiegati in tutti gli ambiti in cui è necessario evitare

DaOttaleaBinario:Esempio7058 = ?2

7 0 5

111 000 101

7058 = 1110001012

Linguaggi,CodificaeRappresentazionedell’Informazione 60/109

Page 62: Fondamenti di Informatica - INTRANETcesposito/materiale/lezioni/Argomento02_Codi... · I Linguaggi Formali •Sviluppati ed impiegati in tutti gli ambiti in cui è necessario evitare

DaEsadecimaleaBinario

Esadecimale

Decimale Ottale

Binario

Linguaggi,CodificaeRappresentazionedell’Informazione 61/109

Page 63: Fondamenti di Informatica - INTRANETcesposito/materiale/lezioni/Argomento02_Codi... · I Linguaggi Formali •Sviluppati ed impiegati in tutti gli ambiti in cui è necessario evitare

DaEsadecimaleaBinario:Tecnica

• Convertiognicifraesadecimaleinunarappresentazionebinariaequivalentea4bit

Linguaggi,CodificaeRappresentazionedell’Informazione 62/109

Page 64: Fondamenti di Informatica - INTRANETcesposito/materiale/lezioni/Argomento02_Codi... · I Linguaggi Formali •Sviluppati ed impiegati in tutti gli ambiti in cui è necessario evitare

DaEsadecimaleaBinario:Esempio

10AF16 = ?2

1 0 A F

0001 0000 1010 1111

10AF16 = 00010000101011112

Linguaggi,CodificaeRappresentazionedell’Informazione 63/109

Page 65: Fondamenti di Informatica - INTRANETcesposito/materiale/lezioni/Argomento02_Codi... · I Linguaggi Formali •Sviluppati ed impiegati in tutti gli ambiti in cui è necessario evitare

DaDecimaleaOttale

Esadecimale

Decimale Ottale

Binario

Linguaggi,CodificaeRappresentazionedell’Informazione 64/109

Page 66: Fondamenti di Informatica - INTRANETcesposito/materiale/lezioni/Argomento02_Codi... · I Linguaggi Formali •Sviluppati ed impiegati in tutti gli ambiti in cui è necessario evitare

DaDecimaleaOttale:Tecnica• Dividiper8

• Tienitracciadelresto

Linguaggi,CodificaeRappresentazionedell’Informazione 65/109

Page 67: Fondamenti di Informatica - INTRANETcesposito/materiale/lezioni/Argomento02_Codi... · I Linguaggi Formali •Sviluppati ed impiegati in tutti gli ambiti in cui è necessario evitare

DaDecimaleaOttale:Esempio

8 1234154 2819 282 380 2

123410 = 23228

123410 = ?8

Linguaggi,CodificaeRappresentazionedell’Informazione 66/109

Page 68: Fondamenti di Informatica - INTRANETcesposito/materiale/lezioni/Argomento02_Codi... · I Linguaggi Formali •Sviluppati ed impiegati in tutti gli ambiti in cui è necessario evitare

DaDecimaleadEsadecimale

Esadecimale

Decimale Ottale

Binario

Linguaggi,CodificaeRappresentazionedell’Informazione 67/109

Page 69: Fondamenti di Informatica - INTRANETcesposito/materiale/lezioni/Argomento02_Codi... · I Linguaggi Formali •Sviluppati ed impiegati in tutti gli ambiti in cui è necessario evitare

DaDecimaleadEsadecimale:Tecnica

• Dividiper16

• Tienitracciadelresto

Linguaggi,CodificaeRappresentazionedell’Informazione 68/109

Page 70: Fondamenti di Informatica - INTRANETcesposito/materiale/lezioni/Argomento02_Codi... · I Linguaggi Formali •Sviluppati ed impiegati in tutti gli ambiti in cui è necessario evitare

DaDecimaleadEsadecimale:Esempio123410 = ?16

123410 = 4D216

16 123477 2164 13 = D160 4

Linguaggi,CodificaeRappresentazionedell’Informazione 69/109

Page 71: Fondamenti di Informatica - INTRANETcesposito/materiale/lezioni/Argomento02_Codi... · I Linguaggi Formali •Sviluppati ed impiegati in tutti gli ambiti in cui è necessario evitare

DaBinarioadOttale

Esadecimale

Decimale Ottale

Binario

Linguaggi,CodificaeRappresentazionedell’Informazione 70/109

Page 72: Fondamenti di Informatica - INTRANETcesposito/materiale/lezioni/Argomento02_Codi... · I Linguaggi Formali •Sviluppati ed impiegati in tutti gli ambiti in cui è necessario evitare

DaBinarioadOttale• Raggruppaibitingruppiditre,partendodalladestra

• Convertiincifreottali

Linguaggi,CodificaeRappresentazionedell’Informazione 71/109

Page 73: Fondamenti di Informatica - INTRANETcesposito/materiale/lezioni/Argomento02_Codi... · I Linguaggi Formali •Sviluppati ed impiegati in tutti gli ambiti in cui è necessario evitare

DaBinarioadOttale:Esempio10110101112 = ?8

1 011 010 111

1 3 2 7

10110101112 = 13278

Linguaggi,CodificaeRappresentazionedell’Informazione 72/109

Page 74: Fondamenti di Informatica - INTRANETcesposito/materiale/lezioni/Argomento02_Codi... · I Linguaggi Formali •Sviluppati ed impiegati in tutti gli ambiti in cui è necessario evitare

DaBinarioadEsadecimale

Esadecimale

Decimale Ottale

Binario

Linguaggi,CodificaeRappresentazionedell’Informazione 73/109

Page 75: Fondamenti di Informatica - INTRANETcesposito/materiale/lezioni/Argomento02_Codi... · I Linguaggi Formali •Sviluppati ed impiegati in tutti gli ambiti in cui è necessario evitare

DaBinarioadEsadecimale:Tecnica

• Raggruppaibitingruppidiquattro,partendodalladestra

• Convertiincifreesadecimali

Linguaggi,CodificaeRappresentazionedell’Informazione 74/109

Page 76: Fondamenti di Informatica - INTRANETcesposito/materiale/lezioni/Argomento02_Codi... · I Linguaggi Formali •Sviluppati ed impiegati in tutti gli ambiti in cui è necessario evitare

DaBinarioadEsadecimale:Esempio

10101110112 = ?16

10 1011 1011

2 B B

10101110112 = 2BB16

Linguaggi,CodificaeRappresentazionedell’Informazione 75/109

Page 77: Fondamenti di Informatica - INTRANETcesposito/materiale/lezioni/Argomento02_Codi... · I Linguaggi Formali •Sviluppati ed impiegati in tutti gli ambiti in cui è necessario evitare

DaOttaleadEsadecimale

Esadecimale

Decimale Ottale

Binario

Linguaggi,CodificaeRappresentazionedell’Informazione 76/109

Page 78: Fondamenti di Informatica - INTRANETcesposito/materiale/lezioni/Argomento02_Codi... · I Linguaggi Formali •Sviluppati ed impiegati in tutti gli ambiti in cui è necessario evitare

DaOttaleadEsadecimale:Tecnica

• Idea: usarelacodificabinariacomerappresentazioneintermedia

Linguaggi,CodificaeRappresentazionedell’Informazione 77/109

Page 79: Fondamenti di Informatica - INTRANETcesposito/materiale/lezioni/Argomento02_Codi... · I Linguaggi Formali •Sviluppati ed impiegati in tutti gli ambiti in cui è necessario evitare

DaOttaleadEsadecimale:Esempio

10768 = ?161 0 7 6

001 000 111 110

2 3 E

10768 = 23E16

Linguaggi,CodificaeRappresentazionedell’Informazione 78/109

Page 80: Fondamenti di Informatica - INTRANETcesposito/materiale/lezioni/Argomento02_Codi... · I Linguaggi Formali •Sviluppati ed impiegati in tutti gli ambiti in cui è necessario evitare

DaEsadecimaleadOttale

Esadecimale

Decimale Ottale

Binario

Linguaggi,CodificaeRappresentazionedell’Informazione 79/109

Page 81: Fondamenti di Informatica - INTRANETcesposito/materiale/lezioni/Argomento02_Codi... · I Linguaggi Formali •Sviluppati ed impiegati in tutti gli ambiti in cui è necessario evitare

DaEsadecimaleadOttale:Tecnica

• Idea: usarelacodificabinariacomerappresentazioneintermedia

Linguaggi,CodificaeRappresentazionedell’Informazione 80/109

Page 82: Fondamenti di Informatica - INTRANETcesposito/materiale/lezioni/Argomento02_Codi... · I Linguaggi Formali •Sviluppati ed impiegati in tutti gli ambiti in cui è necessario evitare

DaEsadecimaleadOttale:Esempio

1F0C16 = ?8

1 F 0 C

0001 1111 0000 1100

1 7 4 1 4

1F0C16 = 174148

Linguaggi,CodificaeRappresentazionedell’Informazione 81/109

Page 83: Fondamenti di Informatica - INTRANETcesposito/materiale/lezioni/Argomento02_Codi... · I Linguaggi Formali •Sviluppati ed impiegati in tutti gli ambiti in cui è necessario evitare

Piùingenerale…• Perconvertire unnumero binario inunsistema che hacomebase2z

• Raggruppare lecifre ingruppi diz elementi• Convertire separatamente ciascun gruppo

Linguaggi,CodificaeRappresentazionedell’Informazione 82/109

Page 84: Fondamenti di Informatica - INTRANETcesposito/materiale/lezioni/Argomento02_Codi... · I Linguaggi Formali •Sviluppati ed impiegati in tutti gli ambiti in cui è necessario evitare

RappresentazionedegliInteri:“ModuloeSegno”

• 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

N10 = +14

N10 = -14

Nms = 01110

Nms = 11110

Esempio

Linguaggi,CodificaeRappresentazionedell’Informazione 83/109

Page 85: Fondamenti di Informatica - INTRANETcesposito/materiale/lezioni/Argomento02_Codi... · I Linguaggi Formali •Sviluppati ed impiegati in tutti gli ambiti in cui è necessario evitare

RappresentazionedegliInteri:“ModuloeSegno”

• Alfabetobinario• Ancheilsegnoèrappresentatoda0o1• Indispensabileindicareilnumerokdibitutilizzati

• Moduloesegno• 1bit disegno (0positivo,1negativo)• k-1 bit dimodulo

• Esempio:+610= 0110ms-610= 1110ms

• Sirappresentanoivalorida-2k-1+1a2k-1-1• Con4bit ivalorivannoda-7 a+7• Con8bit ivalorivannoda-127 a+127

• Osservazione: duerappresentazionidello0• Con4bit sono+010 =0000ms -010=1000ms

Linguaggi,CodificaeRappresentazionedell’Informazione 84/109

Page 86: Fondamenti di Informatica - INTRANETcesposito/materiale/lezioni/Argomento02_Codi... · I Linguaggi Formali •Sviluppati ed impiegati in tutti gli ambiti in cui è necessario evitare

RappresentazionedegliInteri:“ModuloeSegno”:LimitisuiNumeriRappresentabili

• 4bit adisposizione• Possiamorappresentareda0000a0111eda1000a1111,indecimaleda0a7eda0a-7

• 5bit adisposizione• Possiamorappresentareda00000a01111eda10000a11111,indecimaleda0a15eda0a-15

•…

• Conkbit adisposizionepossiamorappresentarenumerida0a2k-1- 1 eda-(2k-1- 1)a0

Linguaggi,CodificaeRappresentazionedell’Informazione 85/109

Page 87: Fondamenti di Informatica - INTRANETcesposito/materiale/lezioni/Argomento02_Codi... · I Linguaggi Formali •Sviluppati ed impiegati in tutti gli ambiti in cui è necessario evitare

NumeriInteriinComplementoaDue– 1/5

• Idea: l’interpretazioneposizionalevienemantenutaesimodificasoltantoilpesodelbitpiùsignificativo,invertendolo

• Caratteristiche• Lozerohaunarappresentazioneunica• Tuttiinumerichehannoilbitpiùsignificativougualea1sononegativi(comeprima)

• Èsemprenecessariospecificareilnumerodibitk chesivuoleutilizzareperrappresentareundeterminatonumero

• Sirappresentanoivalorida−2k−1 a+2k−1−1• Con4bit ivalorivannoda−8 a+7• Con8bit ivalorivannoda−128 a+127

Linguaggi,CodificaeRappresentazionedell’Informazione 86/109

Page 88: Fondamenti di Informatica - INTRANETcesposito/materiale/lezioni/Argomento02_Codi... · I Linguaggi Formali •Sviluppati ed impiegati in tutti gli ambiti in cui è necessario evitare

NumeriInteriinComplementoaDue– 2/5

• Consideriamoungenericonumerobinariosu8bit

• Perstabilirelacodificadiungenericonumeronegativon <0,sapendochenecessariamenteilbitpiùsignificativovapostoa1,èsufficienteriportareneirestantibitilnumeropositivoche,sommatoa−27,dailvaloren

• Peresempio,proviamoacodificare−37.Essendounnumeronegativo,ilbitpiùsignificativovale1:

• Nellaparterestantedellatabelladovremoinserirequelnumerochesommatoa−128 da−37• −128+x=−37=>x=128– 37=91

−27 26 25 24 23 22 21 20

1 ? ? ? ? ? ? ?

Linguaggi,CodificaeRappresentazionedell’Informazione 87/109

Page 89: Fondamenti di Informatica - INTRANETcesposito/materiale/lezioni/Argomento02_Codi... · I Linguaggi Formali •Sviluppati ed impiegati in tutti gli ambiti in cui è necessario evitare

NumeriInteriinComplementoaDue– 3/5

• Lacodificabinariadi91 è1011011,cheriportatonellatabellaprecedenteforniscelacodificadesiderata:

−27 26 25 24 23 22 21 20

1 1 0 1 1 0 1 1

Linguaggi,CodificaeRappresentazionedell’Informazione 88/109

Page 90: Fondamenti di Informatica - INTRANETcesposito/materiale/lezioni/Argomento02_Codi... · I Linguaggi Formali •Sviluppati ed impiegati in tutti gli ambiti in cui è necessario evitare

NumeriInteriinComplementoaDue– 4/5

• Unmetodomoltocomodopercalcolarelarappresentazionedi−X apartiredaquelladi+Xèilseguente• Idea: effettuareilcomplementodiognibitdiX,poiaggiungere11. Codificabinariadi+610 =>01102 (N.B.civogliono4bit)2. Complementodituttiibit=>1001C2 (corrisponderebbea−710)3. Aggiungere1=>1010C2 (checorrispondea−610)

Linguaggi,CodificaeRappresentazionedell’Informazione

1+1=0colriportodi1

−23+21 =−8+2=−6

Ilcomplementodi1è0Ilcomplementodi0è1

1001+1=

1010

89/109

Page 91: Fondamenti di Informatica - INTRANETcesposito/materiale/lezioni/Argomento02_Codi... · I Linguaggi Formali •Sviluppati ed impiegati in tutti gli ambiti in cui è necessario evitare

NumeriInteriinComplementoaDue– 5/5

• Estensionedel“segno”• Ivaloripositiviinizianocon0,quellinegativicon1• Datalarappresentazionediunnumerosukbit,larappresentazionedellostessonumerosuk+1bitsiottieneaggiungendo(asinistra)unbitugualealprimo

• Esempi• Rappresentazionedi-6su4bit=1010• Rappresentazionedi-6su5bit=11010• Rappresentazionedi-6su8bit=11111010

Linguaggi,CodificaeRappresentazionedell’Informazione 90/109

Page 92: Fondamenti di Informatica - INTRANETcesposito/materiale/lezioni/Argomento02_Codi... · I Linguaggi Formali •Sviluppati ed impiegati in tutti gli ambiti in cui è necessario evitare

Codificadeirealiedeifrazionari(1/6)

• Rappresentazionemedianteinteri• L’insieme degli interi X può essere adoperato per rappresentare i reali xcompresi nel medesi intervallo, approssimando il reale all’intero piùprossimo.

X=r(x)=x± 𝜀 ∶ 0 ≤ 𝜀 ≤12

• Rappresentazionedeifrazionari• Unnumerofrazionariorappresentaunaclassedirealiinmodulominoredi1,eperessinonèsignificativalarappresentazionemedianteinteri.

• Siapplicaunfattorediscala𝑀 = 𝑏G,conn ilnumerodicifreeblabasedirappresentazione.Pertantolarappresentazionedifrazionarinonnegativimedianteinteridiventa:

𝑋 = 𝑥 J 𝑀 ± 𝜀 ∶ 𝑥𝜖 0,1 , |𝜀| ≤ NOP

Q• Esempio:0,500conM=103 vienerappresentatocome500,e0,499diventa499.

Linguaggi,CodificaeRappresentazionedell’Informazione 90/109

Page 93: Fondamenti di Informatica - INTRANETcesposito/materiale/lezioni/Argomento02_Codi... · I Linguaggi Formali •Sviluppati ed impiegati in tutti gli ambiti in cui è necessario evitare

Codificadeirealiedeifrazionari(2/6)

• Conversionedeinumerifrazionari• MOLTIPLICHIAMO la parte frazionaria del numero dato per 2;• continuiamo a moltiplicare il RISULTATO ottenuto per 2 tenendo presenteche, se il numero ottenuto è maggiore di 1 sottraiamo 1;

• andiamo avanti fino a quando• non otteniamo un RISULTATO uguale a UNO oppure• fino a quando otteniamo un RISULTATO GIA' OTTENUTO IN PRECEDENZA.

Linguaggi,CodificaeRappresentazionedell’Informazione 90/109

Page 94: Fondamenti di Informatica - INTRANETcesposito/materiale/lezioni/Argomento02_Codi... · I Linguaggi Formali •Sviluppati ed impiegati in tutti gli ambiti in cui è necessario evitare

Codificadeirealiedeifrazionari(3/6)

• Virgolafissaemobile• Dicesi in virgola fissa una rappresentazione dei numeri con n cifre, in cui laposizione della virgola è predeterminata e non va esplicitamente espressa.

• Esempio: il numero .789x10-1 è rappresentato come 078900 in unarappresentazione a 6 cifre.

• Dicesi in virgola mobile (o floating point) una rappresentazione in cui unnumero reale è indicato dalla coppia (M,E), dove il primo termine prende ilnome di mantissa e il secondo di esponente o caratteristica:

x = 𝑀 J 𝑏S ± 𝜀• M ed E possono essere rappresentati in modi diversi.• Se b|M|<1, allora esiste un’altra rappresentazione (bM, E-1) che consente diottenere una migliore approssimazione. Tra le possibili coppie cherappresentano x bisogna scegliere quella con l’approssimazione più alta,detta normalizzata, ovvero quando 𝑏TU ≤ 𝑀 < 1.

Linguaggi,CodificaeRappresentazionedell’Informazione 90/109

Page 95: Fondamenti di Informatica - INTRANETcesposito/materiale/lezioni/Argomento02_Codi... · I Linguaggi Formali •Sviluppati ed impiegati in tutti gli ambiti in cui è necessario evitare

Codificadeirealiedeifrazionari(4/6)

• Aritmeticainvirgolamobile• Data una coppia (M,E) si può effettuare uno shift a destra della mantissa edincremento dell’esponente, sempre che E+1 sia rappresentabile:

Float shift right:𝑀W J 𝑏SX = 𝑀 J 𝑏S = YNJ 𝑏SZU

• Uno shift a sinistra avviene come segue:Float shift left:𝑀W J 𝑏SX = 𝑀 J 𝑏S = (𝑀𝑏) J 𝑏STU

• L’aritmetica in virgola mobile effettua le operazioni operando separatamentesu mantissa ed esponente ed effettuando ove necessario operazioni di shift.• Addizione – Dati due numeri (A, Ea) e (B, Eb), se Ea è maggiore di Eb si effettua loshift a destra fino ad ottenere Ea = Eb, altrimenti quello a sinistra. Successivamente,si sommano le mantisse.Esempio: Sommiamo A = (123 ×100) e B = (456 ×10-2), effettuiamo due shift adestra su B fino ad ottenere B = (4,56 ×100), sommiamo le mantisse e il risultato èC = (127,56 ×100).

• Moltiplicazione – Prodotto delle mantisse e somma degli esponenti con eventualenormalizzazione.

Linguaggi,CodificaeRappresentazionedell’Informazione 90/109

Page 96: Fondamenti di Informatica - INTRANETcesposito/materiale/lezioni/Argomento02_Codi... · I Linguaggi Formali •Sviluppati ed impiegati in tutti gli ambiti in cui è necessario evitare

Codificadeirealiedeifrazionari(5/6)

• StandardIEEE754• Per la rappresentazione dei numeri reali in macchina si adopera quella dellavirgola mobile binaria, come specificato nello standard IEEE 754. Per b=2,tale rappresentazione è la seguente:

x = (−1)[J 𝑀 J 2S

• Essendo M normalizzata, ha il primo bit uguale a 1, ciò consente di ometterlo, così daavere un bit in più per la rappresentazione del numero. Questa tecnica prende il nomedi bit nascosto:

seM = UZ]Q, sihachex = (−1)[J (1 + 𝑓) J 2STU

• così che la rappresentazione è data dalla tripla (s, f, E).

• Per l’esponente si ha la rappresentazione polarizzata: dato il numero di bit Ne, el’esponente da rappresentare, E quello rappresentato e bias la costante dipolarizzazione si ha E = e + bias, con l’intervallo degli esponenti effettivi pari a 𝑒abG ≤𝑒 ≤ 𝑒acd.

Linguaggi,CodificaeRappresentazionedell’Informazione 90/109

Page 97: Fondamenti di Informatica - INTRANETcesposito/materiale/lezioni/Argomento02_Codi... · I Linguaggi Formali •Sviluppati ed impiegati in tutti gli ambiti in cui è necessario evitare

Codificadeirealiedeifrazionari(6/6)

• Lo standard presenta vari formati di rappresentazione, tra i quali abbiamo quello a singolaprecisione su 32 bit e quella a doppia precisione su 64 bit. Nel primo caso, dati gli 8 bit perla rappresentazione dell’esponente, si ha che il suo intervallo di rappresentazione è pari a0 < e < 255. Pertanto la formula di rappresentazione diventa:

x = (−1)[J 2 eTUQf J (1 + 𝑓)Y

con f pari alla parte frazionaria della mantissa, rappresentata con la tecnica del bitnascosto:

Linguaggi,CodificaeRappresentazionedell’Informazione 90/109

Page 98: Fondamenti di Informatica - INTRANETcesposito/materiale/lezioni/Argomento02_Codi... · I Linguaggi Formali •Sviluppati ed impiegati in tutti gli ambiti in cui è necessario evitare

Esercizi1• Scrivereinbinariosempliceiseguentinumeriinbase10

• 5310• 21110

• Scrivereinbinariosemplicesu7bitilnumero1310• Scrivereinmoduloesegnosu7bitilnumero1310• Scrivereinmoduloesegnosu7bitilnumero-1310• Scrivereinmoduloesegnosu5bitilnumero1710

Linguaggi,CodificaeRappresentazionedell’Informazione 97/109

Page 99: Fondamenti di Informatica - INTRANETcesposito/materiale/lezioni/Argomento02_Codi... · I Linguaggi Formali •Sviluppati ed impiegati in tutti gli ambiti in cui è necessario evitare

SoluzioneEsercizi• Scrivereinbinariosemplicesu7bitilnumero1310

• 0001101

• Scrivereinmoduloesegnosu7bitilnumero1310• 0001101

• Scrivereinmoduloesegnosu7bitilnumero-1310• 1001101

• Scrivereinmoduloesegnosu5bitilnumero1710• 10001,Inmoduloesegnoè-110• RISPOSTA:Nonèpossibile.Hobisognodialmeno6bit(010001)

Linguaggi,CodificaeRappresentazionedell’Informazione 98/109

Page 100: Fondamenti di Informatica - INTRANETcesposito/materiale/lezioni/Argomento02_Codi... · I Linguaggi Formali •Sviluppati ed impiegati in tutti gli ambiti in cui è necessario evitare

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 99/109

Page 101: Fondamenti di Informatica - INTRANETcesposito/materiale/lezioni/Argomento02_Codi... · I Linguaggi Formali •Sviluppati ed impiegati in tutti gli ambiti in cui è necessario evitare

Esercizi2• Scrivereinbinariosemplicesu7bitilnumero1110• Scrivereinmoduloesegnosu8bitilnumero2510• Scrivereinmoduloesegnosu7bitilnumero-1210• Scrivereinmoduloesegnosu5bitilnumero2010

Linguaggi,CodificaeRappresentazionedell’Informazione 100/109

Page 102: Fondamenti di Informatica - INTRANETcesposito/materiale/lezioni/Argomento02_Codi... · I Linguaggi Formali •Sviluppati ed impiegati in tutti gli ambiti in cui è necessario evitare

Esercizi3• UnnumerorealeèrappresentatoinvirgolamobilesecondolostandardIEEE754su32bitnelseguentemodo:

s =1E =10000111f =11011000000000000000000

•Ricavareilcorrispondentevaloredecimale.

•Convertire i seguenti numeri decimali in virgola mobile in singolaprecisione secondo lo standard IEEE 754:1. −23.375102. −127.25103. +131.5104. −300.25105. −3.610

Linguaggi,CodificaeRappresentazionedell’Informazione 101/109

Page 103: Fondamenti di Informatica - INTRANETcesposito/materiale/lezioni/Argomento02_Codi... · I Linguaggi Formali •Sviluppati ed impiegati in tutti gli ambiti in cui è necessario evitare

EserciziSvolti• Dato che e = 100001112 = 13510.Si ha N=(−1)s·2(e−127)·1.f==−1·2135−127·1.11011 =−1·28·1.11011=−1110110002=−(28+27+26+24++23)10=−47210

Linguaggi,CodificaeRappresentazionedell’Informazione 102/109

Page 104: Fondamenti di Informatica - INTRANETcesposito/materiale/lezioni/Argomento02_Codi... · I Linguaggi Formali •Sviluppati ed impiegati in tutti gli ambiti in cui è necessario evitare

EserciziSvolti• Dato che e = 100001112 = 13510.Si ha N=(−1)s·2(e−127)·1.f==−1·2135−127·1.11011 =−1·28·1.11011=−1110110002=−(28+27+26+24++23)10=−47210

• N10=−23.37510=−10111.0112=

Linguaggi,CodificaeRappresentazionedell’Informazione 103/109

Page 105: Fondamenti di Informatica - INTRANETcesposito/materiale/lezioni/Argomento02_Codi... · I Linguaggi Formali •Sviluppati ed impiegati in tutti gli ambiti in cui è necessario evitare

EserciziSvolti• Dato che e = 100001112 = 13510.Si ha N=(−1)s·2(e−127)·1.f==−1·2135−127·1.11011 =−1·28·1.11011=−1110110002=−(28+27+26+24++23)10=−47210

• N10=−23.37510=−10111.0112=-(24+22+21+20+2-2+2-3)10=

=-(16+4+2+1+0.25+0.125)10=-23.37510

Linguaggi,CodificaeRappresentazionedell’Informazione 104/109

2021

22

23

24

2-12-22-3

Page 106: Fondamenti di Informatica - INTRANETcesposito/materiale/lezioni/Argomento02_Codi... · I Linguaggi Formali •Sviluppati ed impiegati in tutti gli ambiti in cui è necessario evitare

EserciziSvolti• Dato che e = 100001112 = 13510.Si ha N=(−1)s·2(e−127)·1.f==−1·2135−127·1.11011 =−1·28·1.11011=−1110110002=−(28+27+26+24++23)10=−47210

• N10=−23.37510=−10111.0112=−1.01110112·24

s=−=1,e=4,er=4+127=13110=100000112m=1.0111011=0111011(con hidden bit).

• N10=131.510=10000011.12=1.000001112·27

s=+=0,e=7,er=127+7=134=100001102m=1.00000111=00000111(comhidden bit).

Linguaggi,CodificaeRappresentazionedell’Informazione 105/109

Page 107: Fondamenti di Informatica - INTRANETcesposito/materiale/lezioni/Argomento02_Codi... · I Linguaggi Formali •Sviluppati ed impiegati in tutti gli ambiti in cui è necessario evitare

Indovinello:comecontaET?• UnExtra-TerrestrevienesullaTerraecidicecheirediRomasono13.Quanteditahal’Extra-Terrestre?• Il13deveessereinterpretatocomeunastringadisimboli• Nonconosciamolabasedellaloronumerazione• SappiamocheillorosistemadinumerazioneèPOSIZIONALE• SappiamocheindecimaleirediRomasono7

• EsedicessecheirediRomasono111?

Linguaggi,CodificaeRappresentazionedell’Informazione 106/109

Page 108: Fondamenti di Informatica - INTRANETcesposito/materiale/lezioni/Argomento02_Codi... · I Linguaggi Formali •Sviluppati ed impiegati in tutti gli ambiti in cui è necessario evitare

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 107/109

Page 109: Fondamenti di Informatica - INTRANETcesposito/materiale/lezioni/Argomento02_Codi... · I Linguaggi Formali •Sviluppati ed impiegati in tutti gli ambiti in cui è necessario evitare

Esercizisusistemidinumerazioneposizionale

• IrediRomasono710• Base10,simboli{0,…,9}

• IrediRomasono134• Base4,simboli{0,1,2,3}

• IrediRomasono1112• Base2,simboli{0,1}

134 = 1 * 41 + 3 * 40 = 710

1112 = 1 * 22 + 1 * 21 + 1 * 20= 710

710 = 7 * 100 = 710

Linguaggi,CodificaeRappresentazionedell’Informazione 108/109

Page 110: Fondamenti di Informatica - INTRANETcesposito/materiale/lezioni/Argomento02_Codi... · I Linguaggi Formali •Sviluppati ed impiegati in tutti gli ambiti in cui è necessario evitare

Riferimenti• Libroditesto

• Capitolo2

Linguaggi,CodificaeRappresentazionedell’Informazione 109/109