1 / 33

CODIFICA DATI/ISTRUZIONI

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.)

marilu
Télécharger la présentation

CODIFICA DATI/ISTRUZIONI

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 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.) - magnetici (differente stato di polarizzazione magnetica) - ottici (alternanza luce/buio) 2 STATI “FISICI” (possibili, nitidi e sicuri) che vengono RAPPRESENTATI (denotati) con 0 e 1 che sono anche le cifre del sistema binario (BIT – BINARY DIGIT )

  2. CODIFICA 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

  3. CODIFICA DEI CARATTERI • Perche’??? 1. INFORMAZIONE (alfabeto) 2. ISTRUZIONI (CODICE OPERATIVO) 3. ISTRUZIONI DI STAMPA DATO NUMERICO DATO ALFANUMERICO

  4. CODIFICA DEI CARATTERI3 CATEGORIE DI CARATTERI: • CARATTERE ALFANUMERICO (A,B,C,.....Z a,b,c,.....z 0,1,......9) • SEGNI di punteggiatura o aritmetici ( , ; : + / - * . $ & # .........) • CARATTERI DI COMANDO codici per la trasmissione codici per il controllo della stampante

  5. CODIFICA DEI CARATTERI “PATTERNS OF BITS” • UTILIZZA UNA STRINGA/SEQUENZA DI BIT • E’ UNA CONVENZIONE TRA PRODUTTORI che determina: la compatibilita’ tra macchine la necessita’ o non di “conversioni” (la trascodifica dei dati)

  6. CODIFICA DEI CARATTERI IL NUMERO DEI CARATTERI RAPPRESENTABILI DIPENDE DAL NUMERO DEIBIT UTILIZZATI: • con 6 bit : set di 64 caratteri • con 7 bit : set di 128 caratteri • con 8 bit : set di 256 caratteri • con 16 bit : set di 65.536 caratteri Per rappresentare il ns alfabeto occorrono almeno 7 bit (128 configurazioni)

  7. “Le convenzioni per i caratteri” • La convenzione deve essere accettata da tutti gli utilizzatori • A livello internazionale sono stati definiti degli “standard” • La situazione degli standard di codifica è la seguente:

  8. CODIFICA DEI CARATTERIcodifiche in “disuso”: a 6 BIT (64 caratteri) 26 lettere dell’alfabeto + 10 cifre decimali + 28 segni e caratteri speciali (limitata: le sole lettere dell’alfabeto sono 52) • B.C.D. per carattere (alcune macchine IBM) • CODICE FIELDDATA (macchine UNIVAC)

  9. CODIFICA DEI CARATTERI CODIFICHE IN “USO” A 8 BIT: • ASCII (American Standard Code for Information Interchange ) STANDARD (128 caratteri) utilizza 7 bit, ma 1 bit ignorato o di parita’ nelle trasmissioni dei dati – utilizzata da tutti i produttori di tutti i paesi • ASCII ESTESO (256 caratteri): NON STANDARD • E.B.C.D.I.C. : no PC (mondo IBM mini/mainframe - AS400)

  10. CODIFICA DEI CARATTERIEsempio CODIFICA ASCII simbolo ASCII (code) 000110000 (48) 1 00110001 (49) 2 00110010 (50) 3 00110011 (51) .............................................. A01000001 (65) B01000010 (66) a01100001 (97)

  11. CODIFICA DEI CARATTERI CODIFICHE più RECENTI • Poiche’ 256 caratteri sono insufficienti per rappresentare i simboli dell’alfabeto di altre lingue, occorrono 16 BIT • UNICODE codifica a 16 bit  65.536 caratteri  Nuovo standard

  12. Codifica dei NUMERI IN ASCII • Ogni cifra numerica può essere codificata con il corrispondente carattere ASCII • ES: 1951 00110001 00111001 00110101 00110001 • Spreca spazio (non è efficiente) • Non è elaborabile numericamente

  13. CODIFICA dei NUMERI • NUMERI codificati con il SISTEMA DI NUMERAZIONE BINARIO (partendo dal presupposto che qualsiasi numero decimale può essere facilmente convertito in numero binario) • La codifica binaria NON COSTITUISCE UN LIMITE all’INSIEME DEI NUMERI RAPPRESENTABILI • IL NUMERO MASSIMO rappresentabile viene dato dal N.RO dei BIT a disposizione • Con N bit si possono codificare numeri naturali compresi tra 0 <-> ((2^N) - 1)

  14. Codifica dei numeri - NATURALI BIT INTERVALLO NUMERICO 2 0 - 3 4 0 - 15 8 (1 byte *) 0 - 255 12 0 - 4.095 16 (2 byte *) 0 - 65.535 24 (3 byte ) 0 - 16.777.215 32 (4 byte *) 0 - 4.294.967.295 • BYTE = unità generalmente trattata (vedi es.xls)

  15. Codifica dei NUMERI NATURALI • Il numero piu’ grande rappresentab. e’ = 2^n - 1 dove n indica il n.ro di bit disponibili • Nel computer non esiste il - infinito e il + infinito. • ESISTE UN NUMERO MINIMO ED UN NUMERO MASSIMO che dipende dal n.ro dei bit disponibili • Nel momento in cui si fissa il n.ro di bit destinati a rappresentare un numero, automaticamente si fissa anche il n.ro massimo gestibile • Oltre si va in “overflow” (travaso) – errore!

  16. Codifica dei NUMERI INTERI (positivi e negativi) • Numeri rappresentabili SEMPRE (quale sia la tecnica adottata): da -2^(n-1) a +2^(n-1)-1 • Con 1 byte (8 BIT): naturali : 0 - 255 interi : da -128 a + 127 • 1° tecnica con 1 BIT PER IL SEGNO 0 per i positivi 1 per i negativi I restanti 7 bit per il NUMERO • Es.xls – rappresentazione numeri

  17. Codifica dei numeri INTERI • “Binario con bit di segno” è facile da leggere • Poco efficiente: 2 rappresentazioni per lo zero: zero positivo e zero negativo, ma soprattutto NON E’ ELABORABILE CON FACILITA’ • 2° tecnica: COMPLEMENTO A 2

  18. NUMERI negativi : COMPLEMENTO a 2 LUCIDI BENTIVOGLIO – pagg. 63 -77

  19. VIRGOLA FISSA (FIXED POINT) 0,00367 = VIRGOLA MOBILE (FLOATING POINT) 367 x 10 ^-5 = 367 E -5 notazione scientifica formato esponenzial RAPPRESENTAZ. NUMERI FRAZIONARI / REALI mantissa esponente

  20. RAPPRESENTAZ. NUMERI FRAZIONARI / REALI • Con pochi simboli consente di rappresentare numeri molto grandi e numeri molto piccoli 7.670.000.000 = 767 E +7 0,000001465 = 1465 E -9 • FLOATING sia in DECIMALE che in BINARIO: OCCUPA MENO BIT

  21. RAPPRESENTAZ. NUMERI FRAZIONARI / REALI • numero : 12.000.000.000.000 • VIRGOLA FISSA : richiede almeno 44 bits (6 byte) 2^43= 8.796.093.022.208 2^44= 17.592.186.044.416 • VIRGOLA MOBILE = 12 E +12 S MANTISSA S ESPONENTE 1 4 1 4 = 10 bits (2 byte)

  22. FLOATING POINT LA PRECISIONE DEL NUMERO DIPENDE DAL NUMERO DI BITS destinati alla MANTISSA es: 12.300.000.000.000 = 0,123 E +14 con 8 bit : mantissa = 123 con 6 bit : mantissa = 12 (2^6 = 0 - 63)

  23. FLOATING POINT LA DIMENSIONEDEL NUMERO (n.ro MAX E MIN) dipende dal NUMERO DI BITS RISERVATI ALL’ESPONENTE Es: a parita’ di mantissa 123 E 15 = 123.000.000.000.000.000 123 E 18 = 12.300.000.000.000.000.000

  24. VIRGOLA FISSA / MOBILE • VIRGOLA FISSA NEL GESTIONALE dove e’ importante la precisione e non la “dimensione” dei numeri • VIRGOLA MOBILE NELLO SCIENTIFICO dove e’ importante poter trattare n.ro molto grandi o molto piccoli

  25. FLOATING POINT • SHORT REAL (SINGOLA PRECISIONE) 32 BITS • 1 per il segno, 23 per la mantissa, 8 per l’esponente • ** da 10^-38 a 10^ 38 • LONG REAL (DOPPIA PRECISIONE) • 64 BITS (51 per mantissa) • da 10^-308 a 10^308

  26. CODIFICHE DEI NUMERI NUMERO MINIMO E NUMERO MAX 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

  27. COSA RAPPRESENTA IL BYTE: 01000001 ??? • se BINARIO PURO: con 1 byte = 65 decimale parte di 1 o + byte = ???? • se B.C.D.: 0100 = 4 0001 = 1 41 decimale

  28. COSA RAPPRESENTA IL BYTE 01000001 ??? • se ASCII: A • se EBCDIC = L • se ISTRUZIONE MACCHINA • se INDIRIZZO CELLA di MEMORIA .............. add ???

  29. COSA RAPPRESENTA IL BYTE 01000001 ??? • se NUMERO REALE / FLOAT: mantissa o parte della mantissa oppure tutto (o parte) esponente • se IMMAGINE ............. • se SUONO...(formato .WAY?)

  30. DA CHI DIPENDE L’INTERPRETAZIONE ???

  31. DAL SOFTWARE !!!! LINGUAGGIO NATURALE LINGUAGGIO DI PROGRAMMAZIONE 000111 001100 LINGUAGGIO MACCHINA TRADUTTORI

  32. CODIFICA ESADECIMALE • CODIFICA A BASE 16 CHE SERVE SOLO PER SEMPLIFICARE LA RAPPRESENTAZIONE DEI BYTE IN BINARIO • NON VIENE USATA DAL COMPUTER MA DALL’ UOMO PER COMODITA’ DI RAPPRESENTAZIONE

  33. 0000 = 0 0001 = 1 0010 = 2 0011 = 3 0100 = 4 0101 = 5 1010 = A 0110 = 6 1011 = B 0111 = 7 1100 = C 1000 = 8 1101 = D 1001 = 9 1110 = E 1111 = F CODIFICA ESADECIMALE ALLORA OGNI BYTE POTRA’ ESSERE DIVISO IN SEMIBYTE IL QUALE POTRA’ ESSERE TRASFORMATO IN HEX 10011100 = 9C 10001111 = 8F H H

More Related