La codifica delle informazioni
Transcript
La codifica delle informazioni
La codifica delle informazioni La codifica delle informazioni Bit e byte Come già visto l’elaboratore è in grado di rappresentare informazioni al proprio interno solo utilizzando cifre binarie (bit) che solitamente vengono manipolate a gruppi: in particolare, per essere elaborate le cifre binarie vengono raggruppate ins equenze di 8 bit. Una di tali sequenze prende il nome di byte. La convenzione di raggruppare i bit in gruppi di 8 è uno standard accettato ormai da tutte le case costruttrici di computer (imposto negli anni ’60 dalla IBM). Inoltre, per il trattemnto dei dati numerici, gli elaboratori operano su sequenze composte da un numero fisso di byte formando parole (esistono parole da 1, 2, 4 o 8 bytes). Codici alfanumerici I dati immessi da tastiera vengono memorizzati temporaneamente in memoria centrale (R.A.M.), poi conservati in memoria di massa, per far ciò è necessario codificare i dati. Pag. 1 La codifica delle informazioni Nella fase di output i codici, provenienti dalla memoria centrale vengono decodificati per arrivare su video o su carta in un formato comprensibile all’utente. A merican Il primo alfabeto per la codifica standard fu il codice A.S.C.I.I. S tandard che utilizzava 7 bit per rappresentare fino a 2 7 = 128 caratteri distini. C ode for Successivamente il codice venne esteso a 1 byte = 8 bit per rappresentare fino a I nformation 28 = 256 caratteri distinti. I nterchange Il codice A.S.C.I.I. viene attualmente usato dai personal computer. Un analogo codice, E.B.C.D.I.C., viene usato dai minicomputer e mainframe IBM E xtended B inary C ode D ecimal I nter C hange Codice ASCII Pag. 2 La codifica delle informazioni Codice EBCDIC Pag. 3 La codifica delle informazioni Per rappresentare il valore, solo nel caso di Per rappresentare simboli di qualunque tipo, numeri si usa il sistema compresi i numeri ma solo con riferimento alle cifre e non al loro valore, si usano le codifiche BINARIO A.S.C.I.I. E.B.C.D.I.C. per poter effettuare operazioni ARITMETICHE che rappresentano ogni carattere con 1 byte = 8 bit mentre con la tecnica B.C.D. si può rappresentare ogni carattere con 1 semibyte = 4 bit Codici numerici Rappresentazione zoned La codifica zoned prende origine dalla codifica E.B.C.D.I.C. Con questa codifica ciascuna cifra occupa un byte: F⇐ F⇐ F⇐ F⇐ 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ⇓ Zonatura Contiene la parte fissa 0 0 0 0 0 0 0 0 0 0 1 1 0 1 0 1 ⇒0 ⇒1 ⇒2 ⇒3 ⇓ Parte Digit Contiene la parte variabile, diversa per ogni numero Per rappresentare un numero relativo si posiziona il segno al posto del semibyte di peso maggiore della cifra di peso minore del numero stesso. In particolare: per rappresentare il segno + si utilizza il simbolo C16 = 1210 per rappresentare il segno - si utilizza il simbolo D16 = 1310 Pag. 4 La codifica delle informazioni Esempi rappresentazione del numero +412 1111 F 0100 4 1111 F 4 0001 1 1 1100 0010 C 2 2 (+) un numero di 3 cifre occupa 3 byte. rappresentazione del numero -1278 1111 F 0001 1 1 1111 F 0010 2 1111 F 2 0111 7 7 1101 1000 D 8 8 (-) un numerto di 4 cifre occupa 4 byte. Rappresentazione packed La codifica packed prende origine dalla codifica zoned. Partendo dalla codifica zoned, eliminando la zonatura ed aggiungendo il segno nel semibyte di peso maggiore si ottiene la codifica packed. E’anche possibile dire che per ottenere la codifica packed è sufficiente codificare ogni cifra decimale secondo la tecnica B.C.D. aggiungendo un semibyte per il segno e completando con eventuali 0 non significativi per raggiungere un numero di pari di semibyte. codifica zoned un numero di 3 cifre occupa 3 byte. 1111 F 0100 4 4 codifica packed un numero di 3 cifre occupa 2 byte. 0100 4 4 1111 F 0001 1 1 0001 1 1 1100 0010 C 2 2 (+) 0010 1100 2 C 2 (+) Come nel caso della rappresentazione packed, per rappresentare il segno: + si utilizza il simbolo C16 = 1210 - si utilizza il simbolo D16 = 1310 In questo caso il segno si posiziona al posto del semibyte di peso minore della cifra di peso minore del numero stesso (vedi esempio). Codifica nella forma del complemento a 2 La forma del complemento a 2 è la più usata per repparesentare numeri durante la fase di elaborazione. Essa consiste nel rappresentare un numero negativo per mezzo del complemento a 2 del corrispondente numero positivo. Pag. 5 La codifica delle informazioni In pratica, con la codifica nella forma complemento a 2, si ha che l’usuale valore posizionale è associato a ciascuna cifra binaria con l’esclusione del bit più significativo al quale è associato un valore negativo. I numeri possono essere rappresentati con 2, 4, 8 byte, a seconda del tipo di precisione scelta. Il segno viene rappresentato nel primo bit. 0 numero positivo 1 numero negativo Esempio: 0 0 + 0 0 0 0 0 0 0 0 50 1 1 0 0 1 0 Lo stesso numero con il segno “meno” viene rappresentato in complemento a 2: 5010=1100102 complemento a 1 ► 1111111111001101 + 1 = ____________________ 1111111111001110 ◄ complemento a 2 15 Il massimo numero rappresentabile con 2 byte è: 2 - 1 = 32767 Rappresentazione in virgola mobile o floating point Dato un qualunque numero questo può essere rappresentato in virgola mobile (floating point) per estendere il rango dei numeri che possono essere rappresentati in un dato numero di bits. La rappresentazione floating point è molto simile a quella denominata scientifica o standard. Un numero rappresentato in notazione scientifica è il prodotto di due parti: una delle due, detta fattore di scala (caratteristica o esponente), è una potenza del 10 mentre l’altra parte, detta parte frazionaria (mantissa), è un numero tale che, moltiplicato per il fattore di scala, dà il numero che si vuole rappresentare. Si dice che la rappresentazione scientifica è normalizzata, se la parte frazionaria è tale che: è minore di 1, la cifra più significativa è diversa da 0. Consideriamo i seguenrti esempi decimali: -12,75 +140 +0,075 -> -0,1275 -> 0,14 -> 0,75 x 100 -> x 1000 -> x 0,1 -> -0,1275 0,14 0,75 x 102 x 103 x 10-1 L’elaboratore converte il numero decimale seguendo le consuete regole: per la parte intera usa il metodo delle divisioni successive, Pag. 6 La codifica delle informazioni per la parte decimale usa il metodo delle moltiplicazioni successive, convertendo in binario il primo degli esempi avremo: -12,7510 -> 1100,112 -> 0,110011 x 10000 -> 0,110011 x 2+100 Consideriamo i seguenti esempi scritti interamente in base 2 101000,0 = +0,101 X 1000000 0,00011 = +0,11 X 0,001 -110,11 = -0,11011 X 1000 = 0,101 x 10110 = 0,11 x 10-11 = -0,11011 x 1011 Esistono vari metodi per la rappresentazione dei dati in un computer ma, a scopo esmplificativo, si può considerare il caso in cui si utilizzano 1 byte per l’esponente e 2 bytes per la mantissa, con il primo bit rappresenta il segno. La rappresentazione del numero -1100,112 potrà quindi essere effettuata con 3 byte nel seguente modo: -1100,11 = -0,110011 x 10000 = -0,110011 x 10100 (+) segno (-) segno 00000100 10000000 00110011 Caratteristica Mantissa Esercizi 1. Rappresentare, con la tecnica: o zoned o packed o complemento a 2 i numeri indicati ed indicare il numero di byte che li compongono. 2. Rappresentare, con la tecnica floating point: 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 1. 2. 3. 4. 5. -852 +159 -7539 -3582 +1596 +1236 +789 -654 -123 +963 -85 +0,15 –0,075 –0,035 +15 Pag. 7
Documenti analoghi
Visualizza
linea di mainframe IBM Sistema /360, è una codifica a 8 bit che estende la codifica BCD a 6 bit
allora in uso, indipendente rispetto alla codifica ASCII, con la quale non c’è compatibilità.
Tutte l...