33
CODIFICA CODIFICA DATI/ISTRUZIONI DATI/ISTRUZIONI Nel calcolatore tutta Nel calcolatore tutta l’informazione e’ codificata in l’informazione e’ codificata in binario (sequenza di 0,1) binario (sequenza di 0,1) Perche Perche ’ il calcolatore e’ formato ’ il calcolatore e’ formato da componenti BISTABILI: da componenti BISTABILI: - - elettronici elettronici (alta/bassa tensione (alta/bassa tensione elettr.) elettr.) - - magnetici magnetici (differente stato di (differente stato di polarizzazione polarizzazione magnetica) magnetica) - - ottici ottici (alternanza luce/buio) (alternanza luce/buio) 2 STATI “FISICI” (possibili, 2 STATI “FISICI” (possibili,

CODIFICA DATI/ISTRUZIONI

  • Upload
    marilu

  • View
    62

  • Download
    1

Embed Size (px)

DESCRIPTION

CODIFICA DATI/ISTRUZIONI. Nel calcolatore tutta l’informazione e’ codificata in binario (sequenza di 0,1) Perche ’ il calcolatore e’ formato da componenti BISTABILI: - elettronici (alta/bassa tensione elettr.) - PowerPoint PPT Presentation

Citation preview

Page 1: CODIFICA  DATI/ISTRUZIONI

CODIFICA DATI/ISTRUZIONICODIFICA DATI/ISTRUZIONINel calcolatore tutta l’informazione e’ Nel calcolatore tutta l’informazione e’ codificata in binario (sequenza di 0,1)codificata in binario (sequenza di 0,1)

PerchePerche’ il calcolatore e’ formato da ’ il calcolatore e’ formato da componenti BISTABILI:componenti BISTABILI:

- - elettronicielettronici (alta/bassa tensione elettr.) (alta/bassa tensione elettr.)

- - magnetici magnetici (differente stato di (differente stato di polarizzazione magnetica) polarizzazione magnetica)

- - ottici ottici (alternanza luce/buio) (alternanza luce/buio)

2 STATI “FISICI” (possibili, nitidi e sicuri) 2 STATI “FISICI” (possibili, nitidi e sicuri) che vengono RAPPRESENTATI (denotati) che vengono RAPPRESENTATI (denotati)

con 0 e 1 che sono anche le cifre del con 0 e 1 che sono anche le cifre del sistema binario sistema binario

(BIT – (BIT – BIBINARY DIGINARY DIGIT T ))

Page 2: CODIFICA  DATI/ISTRUZIONI

CODIFICA DATI/ISTRUZIONICODIFICA DATI/ISTRUZIONI

• CODIFICA BINARIA corrisponde ad un FENOMENO FISICO che puo’ essere osservato in 2 stati

• La limitazione a soli 2 stati e’ nata da motivazioni tecnologiche(minori probabilita’ di guasti e di errori)• Codifica binaria da “NECESSITA’” ad

“OPPORTUNITA’” per la standardizzazione della rappresentazione

di tutte le informazioni

Page 3: CODIFICA  DATI/ISTRUZIONI

CODIFICA DEI CARATTERICODIFICA DEI CARATTERI

• Perche’???Perche’???

1. INFORMAZIONE

(alfabeto)

2. ISTRUZIONI (CODICE OPERATIVO)

3. ISTRUZIONI DI STAMPA

DATO NUMERICO

DATO ALFANUMERICO

Page 4: CODIFICA  DATI/ISTRUZIONI

CODIFICA DEI CARATTERICODIFICA DEI CARATTERI 3 CATEGORIE DI CARATTERI:3 CATEGORIE DI CARATTERI:

• CARATTERE ALFANUMERICOCARATTERE ALFANUMERICO((A,B,C,.....ZA,B,C,.....Za,b,c,.....za,b,c,.....z0,1,......9)0,1,......9)

• SEGNI di punteggiatura o aritmeticiSEGNI di punteggiatura o aritmetici( , ; : + / - * . $ & # .........)( , ; : + / - * . $ & # .........)

• CARATTERI DI COMANDOCARATTERI DI COMANDO codici per la trasmissionecodici per la trasmissione

codici per il controllo della stampantecodici per il controllo della stampante

Page 5: CODIFICA  DATI/ISTRUZIONI

CODIFICA DEI CARATTERICODIFICA DEI CARATTERI

““PATTERNS OF BITS”PATTERNS OF BITS”

• UTILIZZA UNA STRINGA/SEQUENZA UTILIZZA UNA STRINGA/SEQUENZA DI BITDI BIT

• E’ UNA E’ UNA CONVENZIONECONVENZIONE TRA TRA PRODUTTORI che determina:PRODUTTORI che determina:

la compatibilita’ tra macchinela compatibilita’ tra macchinela necessita’ o non di “conversioni” la necessita’ o non di “conversioni”

(la (la trascodificatrascodifica dei dati) dei dati)

Page 6: CODIFICA  DATI/ISTRUZIONI

CODIFICA DEI CARATTERICODIFICA DEI CARATTERI

IL NUMEROIL NUMERO DEI CARATTERI DEI CARATTERI RAPPRESENTABILI DIPENDE DAL RAPPRESENTABILI DIPENDE DAL NUMERO DEINUMERO DEI BIT UTILIZZATI:BIT UTILIZZATI:

• con 6 bit : set di 64 carattericon 6 bit : set di 64 caratteri• con 7 bit : set di 128 carattericon 7 bit : set di 128 caratteri• con 8 bit : set di 256 carattericon 8 bit : set di 256 caratteri• con 16 bit : set di 65.536 carattericon 16 bit : set di 65.536 caratteriPer rappresentare il ns alfabeto occorrono Per rappresentare il ns alfabeto occorrono

almeno 7 bit (128 configurazioni)almeno 7 bit (128 configurazioni)

Page 7: CODIFICA  DATI/ISTRUZIONI

““Le convenzioni per i caratteri”Le convenzioni per i caratteri”

• La convenzione La convenzione deve essere accettatadeve essere accettata da tutti gli utilizzatorida tutti gli utilizzatori

• A livello internazionale sono stati definiti A livello internazionale sono stati definiti degli “degli “standard”standard”

• La situazione degli standard di codifica La situazione degli standard di codifica è la seguente:è la seguente:

Page 8: CODIFICA  DATI/ISTRUZIONI

CODIFICA DEI CARATTERICODIFICA DEI CARATTERIcodifiche in “disuso”:codifiche in “disuso”:

a 6 BITa 6 BIT (64 caratteri) (64 caratteri)26 lettere dell’alfabeto + 10 cifre decimali + 26 lettere dell’alfabeto + 10 cifre decimali +

28 segni e caratteri speciali (limitata: le 28 segni e caratteri speciali (limitata: le sole lettere dell’alfabeto sono 52)sole lettere dell’alfabeto sono 52)

• B.C.D.B.C.D. per carattere per carattere (alcune macchine IBM)(alcune macchine IBM)

• CODICE CODICE FIELDDATAFIELDDATA (macchine UNIVAC)(macchine UNIVAC)

Page 9: CODIFICA  DATI/ISTRUZIONI

CODIFICA DEI CARATTERICODIFICA DEI CARATTERICODIFICHE IN “USO” A 8 BIT:CODIFICHE IN “USO” A 8 BIT:• ASCII ASCII (American Standard Code for (American Standard Code for

Information Interchange )Information Interchange )STANDARDSTANDARD (128 caratteri) (128 caratteri)

utilizza utilizza 7 bit7 bit, ma 1 bit ignorato o di parita’ nelle , ma 1 bit ignorato o di parita’ nelle trasmissioni dei dati – utilizzata da tutti i trasmissioni dei dati – utilizzata da tutti i

produttori di tutti i paesiproduttori di tutti i paesi• ASCII ESTESO ASCII ESTESO (256 caratteri): NON (256 caratteri): NON

STANDARDSTANDARD• E.B.C.D.I.CE.B.C.D.I.C. : no PC . : no PC (mondo IBM mini/mainframe - AS400)(mondo IBM mini/mainframe - AS400)

Page 10: CODIFICA  DATI/ISTRUZIONI

CODIFICA DEI CARATTERICODIFICA DEI CARATTERIEsempio Esempio CODIFICA ASCIICODIFICA ASCII

simbolo ASCII (code)0 00110000 (48)1 00110001 (49)2 00110010 (50)3 00110011 (51)..............................................A 01000001 (65)B 01000010 (66)a 01100001 (97)

Page 11: CODIFICA  DATI/ISTRUZIONI

CODIFICA DEI CARATTERICODIFICA DEI CARATTERI

CODIFICHE più RECENTICODIFICHE più RECENTI• Poiche’ Poiche’ 256 caratteri256 caratteri sono sono

insufficienti per rappresentare i insufficienti per rappresentare i simboli dell’alfabeto di altre lingue, simboli dell’alfabeto di altre lingue, occorrono occorrono 16 BIT16 BIT

• UNICODEUNICODE codifica a 16 bit codifica a 16 bit 65.536 caratteri 65.536 caratteri Nuovo standard Nuovo standard

Page 12: CODIFICA  DATI/ISTRUZIONI

Codifica dei NUMERI IN ASCII

• Ogni cifra numerica può essere codificata Ogni cifra numerica può essere codificata con il corrispondente carattere ASCIIcon il corrispondente carattere ASCII

• ES: ES: 1951 00110001 00111001 00110001 00111001 00110101 00110001 00110101 00110001

• Spreca spazio (non è efficiente)Spreca spazio (non è efficiente)

• Non è elaborabile numericamenteNon è elaborabile numericamente

Page 13: CODIFICA  DATI/ISTRUZIONI

CODIFICA dei NUMERICODIFICA dei NUMERI • NUMERI codificati con il SISTEMA DI NUMERI codificati con il SISTEMA DI

NUMERAZIONE BINARIO (partendo dal NUMERAZIONE BINARIO (partendo dal presupposto che qualsiasi numero presupposto che qualsiasi numero decimaledecimale può essere facilmente convertito in numero può essere facilmente convertito in numero binariobinario))

• La codifica binaria La codifica binaria NON COSTITUISCE UN NON COSTITUISCE UN LIMITELIMITE all’INSIEME DEI all’INSIEME DEI NUMERI NUMERI RAPPRESENTABILIRAPPRESENTABILI

• IL NUMERO MASSIMO rappresentabile viene IL NUMERO MASSIMO rappresentabile viene dato dal dato dal N.RO dei BITN.RO dei BIT a disposizione a disposizione

• Con N bit si possono codificare numeri Con N bit si possono codificare numeri naturalinaturali compresi tra 0 <-> ((2^N) - 1) compresi tra 0 <-> ((2^N) - 1)

Page 14: CODIFICA  DATI/ISTRUZIONI

Codifica dei numeri - Codifica dei numeri - NATURALINATURALI

BIT BIT INTERVALLO NUMERICOINTERVALLO NUMERICO

2 0 - 32 0 - 3

4 0 - 154 0 - 15

8 8 (1 byte *) (1 byte *) 0 - 255 0 - 255

12 0 - 4.09512 0 - 4.095

16 16 (2 byte *) (2 byte *) 0 - 65.535 0 - 65.535

24 24 (3 byte )(3 byte ) 0 - 16.777.215 0 - 16.777.215

32 32 (4 byte *) (4 byte *) 0 - 4.294.967.295 0 - 4.294.967.295• BYTE = BYTE = unità generalmente trattata (vedi es.xls)unità generalmente trattata (vedi es.xls)

Page 15: CODIFICA  DATI/ISTRUZIONI

Codifica dei NUMERI Codifica dei NUMERI NATURALINATURALI• Il numero piu’ grande rappresentab. e’ = Il numero piu’ grande rappresentab. e’ =

2^n - 12^n - 1 dove n indica il n.ro di bit dove n indica il n.ro di bit disponibili disponibili

• Nel computer non esiste il - infinito e il + Nel computer non esiste il - infinito e il + infinito.infinito.

• ESISTE UN ESISTE UN NUMERO MINIMONUMERO MINIMO ED UN ED UN NUMERO MASSIMONUMERO MASSIMO che dipende dal n.ro che dipende dal n.ro dei bit disponibili dei bit disponibili

• Nel momento in cui si fissa il n.ro di bit Nel momento in cui si fissa il n.ro di bit destinati a rappresentare un numero, destinati a rappresentare un numero, automaticamenteautomaticamente si fissa anche il si fissa anche il n.ro n.ro massimo gestibilemassimo gestibile

• Oltre si va in “Oltre si va in “overflowoverflow”” (travaso) – errore!

Page 16: CODIFICA  DATI/ISTRUZIONI

Codifica dei NUMERI Codifica dei NUMERI INTERI INTERI (positivi e negativi)

• Numeri rappresentabili SEMPRE (quale sia la Numeri rappresentabili SEMPRE (quale sia la tecnica adottata):tecnica adottata):

da -2^(n-1) a +2^(n-1)-1da -2^(n-1) a +2^(n-1)-1• Con Con 1 byte (8 BIT):1 byte (8 BIT): naturali : 0 - 255naturali : 0 - 255 interi : da -128 a + 127interi : da -128 a + 127

• 1° tecnica con 1 BIT PER IL SEGNO1° tecnica con 1 BIT PER IL SEGNO0 per i positivi 0 per i positivi

1 per i negativi1 per i negativiI restanti 7 bit per il NUMEROI restanti 7 bit per il NUMERO

• Es.xls – rappresentazione numeri Es.xls – rappresentazione numeri

Page 17: CODIFICA  DATI/ISTRUZIONI

Codifica dei numeri Codifica dei numeri INTERIINTERI

• ““Binario con bit di segnoBinario con bit di segno” è facile da ” è facile da leggereleggere

• Poco Poco efficienteefficiente: 2 rappresentazioni per lo : 2 rappresentazioni per lo zero: zero positivo e zero negativo, ma zero: zero positivo e zero negativo, ma soprattutto soprattutto NON E’ ELABORABILENON E’ ELABORABILE CON CON FACILITA’FACILITA’

• 2° tecnica2° tecnica:: COMPLEMENTO A 2 COMPLEMENTO A 2

Page 18: CODIFICA  DATI/ISTRUZIONI

NUMERI NUMERI negativi : negativi : COMPLEMENTO a 2COMPLEMENTO a 2

LUCIDI BENTIVOGLIO – pagg. 63 -77LUCIDI BENTIVOGLIO – pagg. 63 -77

Page 19: CODIFICA  DATI/ISTRUZIONI

RAPPRESENTAZ. NUMERI RAPPRESENTAZ. NUMERI FRAZIONARI / REALIFRAZIONARI / REALI

• VIRGOLA FISSAVIRGOLA FISSA (FIXED POINT)(FIXED POINT)

0,00367 =0,00367 =

• VIRGOLA MOBILEVIRGOLA MOBILE(FLOATING POINT)(FLOATING POINT)

367 x 10 ^-5367 x 10 ^-5= 367 E -5= 367 E -5

notazione scientificanotazione scientificaformato esponenzialformato esponenzial

mantissa esponente

Page 20: CODIFICA  DATI/ISTRUZIONI

RAPPRESENTAZ. NUMERI RAPPRESENTAZ. NUMERI FRAZIONARI / REALIFRAZIONARI / REALI

• Con pochi simboli consente di Con pochi simboli consente di rappresentare rappresentare numeri molto grandi e numeri molto grandi e numeri molto piccolinumeri molto piccoli

7.670.000.000 = 767 E +77.670.000.000 = 767 E +7

0,000001465 = 1465 E -90,000001465 = 1465 E -9

• FLOATING sia in DECIMALE che in FLOATING sia in DECIMALE che in BINARIO: BINARIO: OCCUPA MENO BITOCCUPA MENO BIT

Page 21: CODIFICA  DATI/ISTRUZIONI

RAPPRESENTAZ. NUMERI RAPPRESENTAZ. NUMERI FRAZIONARI / REALIFRAZIONARI / REALI

• numero : 12.000.000.000.000numero : 12.000.000.000.000

• VIRGOLA FISSA : richiede almeno 44 VIRGOLA FISSA : richiede almeno 44 bits bits (6 byte)(6 byte)

2^43= 8.796.093.022.2082^43= 8.796.093.022.208

2^44= 17.592.186.044.4162^44= 17.592.186.044.416

• VIRGOLA MOBILE = 12 E +12VIRGOLA MOBILE = 12 E +12

S MANTISSA S ESPONENTE 1 4 1 4 = 10 bits (2 byte)

Page 22: CODIFICA  DATI/ISTRUZIONI

FLOATING POINTFLOATING POINT

LA PRECISIONELA PRECISIONE DEL NUMERO DEL NUMERO DIPENDE DAL DIPENDE DAL NUMERO DI BITSNUMERO DI BITS destinati alla destinati alla MANTISSAMANTISSA

es: 12.300.000.000.000es: 12.300.000.000.000

= 0,123 E +14= 0,123 E +14

con 8 bit : mantissa = 123con 8 bit : mantissa = 123

con 6 bit : mantissa = 12 (2^6 = 0 - 63)con 6 bit : mantissa = 12 (2^6 = 0 - 63)

Page 23: CODIFICA  DATI/ISTRUZIONI

FLOATING POINTFLOATING POINT

LA DIMENSIONELA DIMENSIONE DEL NUMERO (n.ro DEL NUMERO (n.ro MAX E MIN) dipende dal MAX E MIN) dipende dal NUMERO DI NUMERO DI BITS RISERVATI ALL’BITS RISERVATI ALL’ESPONENTEESPONENTE Es: a parita’ di mantissaEs: a parita’ di mantissa

123 E 15 = 123.000.000.000.000.000123 E 15 = 123.000.000.000.000.000

123 E 18 = 12.300.000.000.000.000.000123 E 18 = 12.300.000.000.000.000.000

Page 24: CODIFICA  DATI/ISTRUZIONI

VIRGOLA FISSA / MOBILEVIRGOLA FISSA / MOBILE

• VIRGOLA FISSA VIRGOLA FISSA NEL GESTIONALE NEL GESTIONALE dove e’ importante la precisione e dove e’ importante la precisione e non la “dimensione” dei numerinon la “dimensione” dei numeri

• VIRGOLA MOBILE VIRGOLA MOBILE NELLO NELLO SCIENTIFICO SCIENTIFICO dove e’ importante dove e’ importante poter trattare n.ro molto grandi o poter trattare n.ro molto grandi o molto piccolimolto piccoli

Page 25: CODIFICA  DATI/ISTRUZIONI

FLOATING POINTFLOATING POINT

• SHORT REAL SHORT REAL (SINGOLA (SINGOLA PRECISIONE) PRECISIONE) 32 BITS 32 BITS

• 1 per il segno, 23 per la mantissa, 8 1 per il segno, 23 per la mantissa, 8 per l’esponente per l’esponente

• ** da 10^-38 a 10^ 38** da 10^-38 a 10^ 38

• LONG REAL (DOPPIA PRECISIONE)LONG REAL (DOPPIA PRECISIONE)

• 64 BITS (51 per mantissa)64 BITS (51 per mantissa)

• da 10^-308 a 10^308da 10^-308 a 10^308

Page 26: CODIFICA  DATI/ISTRUZIONI

CODIFICHE DEI NUMERICODIFICHE DEI NUMERINUMERO MINIMO E NUMERO MAX NUMERO MINIMO E NUMERO MAX RAPPRESENTABILE dal computer ?RAPPRESENTABILE dal computer ?

dipende:- codifica adottata - modalita’ di rappresentazione (fissa/mobile)- n.ro byte che il linguaggio di programmazione

usa (FISSO / VARIABILE ) es: BASIC st. (2 byte) COBOL

Page 27: CODIFICA  DATI/ISTRUZIONI

COSA RAPPRESENTA IL COSA RAPPRESENTA IL BYTE: BYTE: 01000001 ???01000001 ???

• se BINARIO PURO:se BINARIO PURO:

con 1 byte = 65 decimalecon 1 byte = 65 decimale

parte di 1 o + byte = ????parte di 1 o + byte = ????

• se se B.C.D.: 0100 = 4 B.C.D.: 0100 = 4

0001 = 10001 = 1

41 decimale41 decimale

Page 28: CODIFICA  DATI/ISTRUZIONI

COSA RAPPRESENTA IL COSA RAPPRESENTA IL BYTE BYTE

01000001 01000001 ??? ???

COSA RAPPRESENTA IL COSA RAPPRESENTA IL BYTE BYTE

01000001 01000001 ??? ??? • se se ASCIIASCII : A: A

• se se EBCDIC = LEBCDIC = L

• se ISTRUZIONE MACCHINAse ISTRUZIONE MACCHINA

• se INDIRIZZO CELLA di se INDIRIZZO CELLA di MEMORIA .............. MEMORIA ..............

add ???

Page 29: CODIFICA  DATI/ISTRUZIONI

COSA RAPPRESENTA IL COSA RAPPRESENTA IL BYTE BYTE

01000001 01000001 ??????• se se NUMERO REALE / FLOATNUMERO REALE / FLOAT: :

mantissa o parte della mantissa o parte della mantissa mantissa oppureoppure

tutto (o parte) esponentetutto (o parte) esponente

• se se IMMAGINE .............IMMAGINE .............

• se se SUONO...(formato .WAY?) SUONO...(formato .WAY?)

Page 30: CODIFICA  DATI/ISTRUZIONI

DA CHI DIPENDE DA CHI DIPENDE L’INTERPRETAZIONE ???L’INTERPRETAZIONE ???

Page 31: CODIFICA  DATI/ISTRUZIONI

DAL SOFTWARE !!!!DAL SOFTWARE !!!!

LINGUAGGIOMACCHINA

TRADUTTORI

000111001100

LINGUAGGIO DILINGUAGGIO DI

PROGRAMMAZIONEPROGRAMMAZIONE

LINGUAGGIO NATURALE

Page 32: CODIFICA  DATI/ISTRUZIONI

CODIFICA ESADECIMALECODIFICA ESADECIMALE

• CODIFICA A BASE 16 CHE SERVE CODIFICA A BASE 16 CHE SERVE SOLO PER SEMPLIFICARE LA SOLO PER SEMPLIFICARE LA

RAPPRESENTAZIONE DEI BYTE IN RAPPRESENTAZIONE DEI BYTE IN BINARIOBINARIO

• NON VIENE USATA DAL COMPUTER NON VIENE USATA DAL COMPUTER MA DALL’ UOMO PER COMODITA’ DI MA DALL’ UOMO PER COMODITA’ DI

RAPPRESENTAZIONE RAPPRESENTAZIONE

Page 33: CODIFICA  DATI/ISTRUZIONI

CODIFICA ESADECIMALECODIFICA ESADECIMALE

0000 = 00000 = 0

0001 = 10001 = 1

0010 = 20010 = 2

0011 = 30011 = 3

0100 = 40100 = 4

0101 = 5 1010 = A0101 = 5 1010 = A

0110 = 6 1011 = B0110 = 6 1011 = B

0111 = 7 1100 = C0111 = 7 1100 = C

1000 = 8 1101 = D1000 = 8 1101 = D

1001 = 9 1110 = E1001 = 9 1110 = E

1111 = F1111 = F

ALLORA OGNI BYTE POTRA’ ESSEREDIVISO IN SEMIBYTE IL QUALE POTRA’ESSERE TRASFORMATO IN HEX

10011100 = 9C 10001111 = 8FH H