Title: CODIFICA DATI/ISTRUZIONI
1CODIFICA DATI/ISTRUZIONI
- Nel calcolatore tutta linformazione 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 )
2CODIFICA 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
3CODIFICA DEI CARATTERI
- Perche???
- 1. INFORMAZIONE
- (alfabeto)
- 2. ISTRUZIONI (CODICE OPERATIVO)
- 3. ISTRUZIONI DI STAMPA
DATO NUMERICO DATO ALFANUMERICO
4CODIFICA DEI CARATTERI 3 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
5CODIFICA 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)
6CODIFICA DEI CARATTERI
- IL NUMERO DEI CARATTERI RAPPRESENTABILI
DIPENDE DAL NUMERO DEI BIT 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)
7Le 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
8CODIFICA DEI CARATTERIcodifiche in disuso
- a 6 BIT (64 caratteri)
- 26 lettere dellalfabeto 10 cifre decimali 28
segni e caratteri speciali (limitata le sole
lettere dellalfabeto sono 52) - B.C.D. per carattere
- (alcune macchine IBM)
- CODICE FIELDDATA
- (macchine UNIVAC)
9CODIFICA 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)
10CODIFICA DEI CARATTERIEsempio CODIFICA 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)
11CODIFICA DEI CARATTERI
- CODIFICHE più RECENTI
- Poiche 256 caratteri sono insufficienti per
rappresentare i simboli dellalfabeto di altre
lingue, occorrono 16 BIT - UNICODE ? codifica a 16 bit ? 65.536 caratteri
? Nuovo standard
12Codifica 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
13CODIFICA 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
allINSIEME 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 lt-gt ((2N) - 1)
14Codifica 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)
15Codifica dei NUMERI NATURALI
- Il numero piu grande rappresentab. e 2n -
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!
16Codifica 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
17Codifica 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
19RAPPRESENTAZ. NUMERI FRAZIONARI / REALI
- VIRGOLA FISSA (FIXED POINT)
- 0,00367
- VIRGOLA MOBILE
- (FLOATING POINT)
- 367 x 10 -5
- 367 E -5
- notazione scientifica
- formato esponenzial
mantissa
esponente
20RAPPRESENTAZ. 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
21RAPPRESENTAZ. NUMERI FRAZIONARI / REALI
- numero 12.000.000.000.000
- VIRGOLA FISSA richiede almeno 44 bits (6 byte)
- 243 8.796.093.022.208
- 244 17.592.186.044.416
- VIRGOLA MOBILE 12 E 12
S MANTISSA S ESPONENTE
1 4 1 4 10
bits (2 byte)
22FLOATING 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 (26 0 - 63)
23FLOATING POINT
- LA DIMENSIONE DEL NUMERO (n.ro MAX E MIN) dipende
dal NUMERO DI BITS RISERVATI ALLESPONENTE Es a
parita di mantissa - 123 E 15 123.000.000.000.000.000
- 123 E 18 12.300.000.000.000.000.000
24VIRGOLA 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
25FLOATING POINT
- SHORT REAL (SINGOLA PRECISIONE) 32 BITS
- 1 per il segno, 23 per la mantissa, 8 per
lesponente - da 10-38 a 10 38
- LONG REAL (DOPPIA PRECISIONE)
- 64 BITS (51 per mantissa)
- da 10-308 a 10308
26CODIFICHE 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
27COSA 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
28COSA RAPPRESENTA IL BYTE 01000001 ???
- se ASCII A
- se EBCDIC L
- se ISTRUZIONE MACCHINA
-
- se INDIRIZZO CELLA di MEMORIA ..............
add ???
29COSA RAPPRESENTA IL BYTE 01000001 ???
- se NUMERO REALE / FLOAT
- mantissa o parte della mantissa
oppure - tutto (o parte) esponente
- se IMMAGINE .............
- se SUONO...(formato .WAY?)
30DA CHI DIPENDE LINTERPRETAZIONE ???
31DAL SOFTWARE !!!!
LINGUAGGIO NATURALE
LINGUAGGIO DI PROGRAMMAZIONE
000111 001100
LINGUAGGIO MACCHINA
TRADUTTORI
32CODIFICA 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
33CODIFICA ESADECIMALE
- 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
ALLORA OGNI BYTE POTRA ESSERE DIVISO IN SEMIBYTE
IL QUALE POTRA ESSERE TRASFORMATO IN HEX
10011100 9C 10001111 8F
H
H