330 likes | 523 Views
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.)
E N D
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 )
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
CODIFICA DEI CARATTERI • Perche’??? 1. INFORMAZIONE (alfabeto) 2. ISTRUZIONI (CODICE OPERATIVO) 3. ISTRUZIONI DI STAMPA DATO NUMERICO DATO ALFANUMERICO
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
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)
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)
“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:
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)
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)
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)
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
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
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)
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)
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!
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
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
NUMERI negativi : COMPLEMENTO a 2 LUCIDI BENTIVOGLIO – pagg. 63 -77
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
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
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)
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)
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
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
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
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
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
COSA RAPPRESENTA IL BYTE 01000001 ??? • se ASCII: A • se EBCDIC = L • se ISTRUZIONE MACCHINA • se INDIRIZZO CELLA di MEMORIA .............. add ???
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?)
DAL SOFTWARE !!!! LINGUAGGIO NATURALE LINGUAGGIO DI PROGRAMMAZIONE 000111 001100 LINGUAGGIO MACCHINA TRADUTTORI
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
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