Elementi di Informatica e Programmazione Tipologie di codici ! La Codifica dell’informazione (parte 3) Nel seguito vedremo tipologie di rappresentazioni diverse: Senza assumere limitazioni sul numero di bit a disposizione: per numeri [notazione binaria, ovvero posizionale con base 2] Disponendo di un numero di bit limitato: ! ! Corsi di Laurea in: numeri naturali interi relativi [valore assoluto e segno, compl. a 1, compl. a 2] reali [virgola fissa e virgola mobile] valori logici, caratteri alfabetici, testi suoni, immagini e sequenze video codici per la rilevazione e correzione di errori ! Ingegneria Civile Ingegneria per l Ambiente e il Territorio ! ! ! Università degli Studi di Brescia ! ! Codici di compressione (senza | con perdita) ! Docente: Daniela Fogli Daniela Fogli – Elementi di Informatica e Programmazione Formato Rappresentazione dei numeri reali ! Per rappresentare numeri come ! ! ! 1/3 = 0.33333333333…. π = 3.141592653… 2 = 1.4142135… ! In entrambi i casi, una rappresentazione è definita mediante un formato Il numero n di bit a disposizione I campi in cui sono suddivisi i bit ! servirebbe un numero di cifre illimitato ! ! ! ! 2 ! Nel calcolatore è possibile usare solo successioni di bit di lunghezza finita ! ! Necessaria approssimazione ! Quanti In che ordine Quanti bit per ciascun campo Cosa rappresenta ciascun campo Esempio di formato a 32 bit Rappresentazione in virgola fissa 2 modalità Rappresentazione in virgola mobile Daniela Fogli – Elementi di Informatica e Programmazione 3 S E M 1 8 23 Vedremo poi il significato… Daniela Fogli – Elementi di Informatica e Programmazione 4 Rappresentazione in virgola fissa Altro esempio Abbiamo n bit a disposizione (e vogliamo rappresentare numeri reali): - un campo del formato rappresenta il segno ! Esempio: n = 32 bit - un campo del formato rappresenta la parte intera 30 - un campo del formato rappresenta la parte frazionaria S Esempio: n = 24 bit S Parte intera 1 bit 16 bit 0000000000000000 ! 7 bit 0000001 16 bit 15 bit Daniela Fogli – Elementi di Informatica e Programmazione 5 6 Intervallo di rappresentazione: in generale Nel formato precedente a 32 bit ! ! - Parte intera: massimo valore assoluto (216 – 1) = 65535 - Parte frazionaria: n bit di cui 1 per il segno, nI per la parte intera, nF per la parte frazionaria Numero (positivo) massimo rappresentabile NMAX 0 111……………………111 111……………………111 nF bit nI bit 2-15 Max parte intera: 2nI-1 Max parte frazionaria: 1 - 2-nF ⇒ 1 - 2-15 = 0.9999694824 circa 1 se nF grande, 1 - 2-nF pari a circa 1 NMAX = (2nI-1) + (1 - 2-nF) se nF grande, NMAX pari a circa 2nI NMAX = 65535.9999694824 circa 65536 Daniela Fogli – Elementi di Informatica e Programmazione Es. +13.25dieci sarebbe rappresentato così (2-7) Intervallo di rappresentazione: esempio 0.111111111111111 + 0.000000000000001 = 1.000000000000000 Parte frazionaria 00000000000001101010000000000000 Daniela Fogli – Elementi di Informatica e Programmazione ! Parte intera Parte decimale Il numero più piccolo rappresentabile maggiore di 0 è: 0 0 15 14 7 Daniela Fogli – Elementi di Informatica e Programmazione 8 Granularità Un inconveniente Qual è la precisione della rappresentazione in virgola fissa? ! Granularità: differenza tra un numero e il successivo rappresentabile ! quanto più è piccola, tanto più precisa è la rappresentazione! ! Con la rappresentazione precedente, vogliamo rappresentare un numero grande , ad esempio +60.000 ! 0 1110101001100000 000000000000000 a cosa mi servono questi? Dato un numero, rappresentato, qual è il successivo? Es. ⇒ Molto meglio un campo più grande per la parte intera! 00000000000001101.010000000000000 0.000000000000001 Vogliamo rappresentare un numero piccolo , ad esempio +2-14 ! 00000000000001101.010000000000001 ! In generale: la granularità è fissa e pari a ! Per un qualsiasi numero rappresentabile I, il successivo è I + 2-nF 0 2-nF a cosa mi servono questi? Daniela Fogli – Elementi di Informatica e Programmazione 9 ! ! 10 Notazione esponenziale Idea ! 000000000000010 ⇒ Molto meglio un campo più grande per la parte frazionaria! ! Daniela Fogli – Elementi di Informatica e Programmazione 0000000000000000 Per numeri grandi non serve una grande precisione (piccola granularità) Per numeri piccoli non serve un grande intervallo di rappresentazione ma serve elevata precisione ! Nelle calcolatrici scientifiche, un numero in base 10 viene rappresentato come m x 10 exp Si vuole un sistema di rappresentazione in cui la granularità dipende dal numero rappresentato: maggiore è l’ordine di grandezza, minore è la granularità… si può estendere così l’intervallo dei numeri rappresentabili mantissa base esponente ! Esempio: 159 300 000 = +1.593 x 108 dove m=+1.593 ed e=8 ! Esempio: -0.00001593 = -1.593 x 10-5 dove m= -1.593 ed e=-5 IDEA: rappresentare un numero come N = mant * 2esp (l’esponente 2 è più comodo con numeri binari) Daniela Fogli – Elementi di Informatica e Programmazione 11 Daniela Fogli – Elementi di Informatica e Programmazione 12 Nel calcolatore: Codifica in virgola mobile: formato Codifica in virgola mobile ! Virgola mobile o Floating point Convenzioni di notazione riguardanti: Dato un numero da rappresentare N: ! Formato della rappresentazione ! Modalità di codifica della mantissa ! ! ! numero, ordine, lunghezza, significato dei campi N = ±mant*2esp Necessaria una forma univoca di scomposizione in cui la mantissa sia in una qualche forma normalizzata (esempio: cifra binaria più significativa diversa da zero a destra del punto radicale - forma 0.1xx…xxx) Esempio di formato: sM Modalità di codifica dell’esponente ! Necessario rappresentare numeri interi relativi (esempi: in complemento a 2, rappresentazione in eccesso, …) Si memorizzano segno, mantissa ed esponente |mant| nM bit esp nE bit Esempi 1011010111*229 0.11011011*2-36 Daniela Fogli – Elementi di Informatica e Programmazione Daniela Fogli – Elementi di Informatica e Programmazione 13 Rappresentazione della mantissa 14 Normalizzazione Normalizzazione nella forma 1.xxx…xxx N = ±mant*2esp ESEMPIO 1 ! Rappresentazione binaria: 1001.01001 = 1.00101001 * 23 (forma normalizzata) In questo modo la rappresentazione non è univoca: 0.1due = 1 * 2-1 ! mant = 1 esp = -1 = 10 * 2-2 ! mant = 10 esp = -2 ESEMPIO 2 = 0.1 * 20 ! mant = 0.1 esp = 0 Rappresentazione binaria: 0.001011 = 1.011 * 2-3 (forma normalizzata) ⇒ si stabilisce la forma normalizzata della mantissa Daniela Fogli – Elementi di Informatica e Programmazione 15 Daniela Fogli – Elementi di Informatica e Programmazione 16 Nota sulla rappresentazione dell esponente Rappresentazione dell’esponente ! È un numero intero relativo ! Codifica con polarizzazione (o eccesso) ! ! ! ! 15 Numeri positivi Prevede di aggiungere una costante positiva C in modo tale che i valori negativi compresi fra –C e 0 vengano codificati come interi positivi Con e bit a disposizione, C viene scelta circa a metà dei valori possibili dell’esponente, tipicamente 2e-1 oppure 2e-1 – 1 Con e bit a disposizione per l esponente l’intervallo dei numeri rappresentabili è [-C, 2e-1-C] 7 +8 +7 0 0 Esempio: ! ! 4 bit per l’esponente, rappresentazione in eccesso 7 (C = 23 – 1) Numeri rappresentabili [-7, +8] Daniela Fogli – Elementi di Informatica e Programmazione -7 Daniela Fogli – Elementi di Informatica e Programmazione 17 Esempio ! ! Numeri negativi 18 Standard IEEE 754 Dato un codice a 16 bit di cui 1 per il segno, 11 per la mantissa, 4 per l’esponente con rappr. eccesso 7 ! Il numero 19.625dieci sarà ! 10011.101due = 1.0011101due x 24 da cui: ! Necessità di uniformare la precisione del calcolo (calcolatori di produttori diversi con strutture differenti) Lo standard IEEE* 754 stabilisce la lunghezza di mantissa ed esponente e le loro codifiche 32 bit per i numeri in precisione singola M = 10011101000due 1 bit segno, 8 bit esponente, 23 bit mantissa E = 4dieci + 7dieci = 11dieci = 1011due 1 ! 8 23 64 bit per i numeri in precisione doppia e la codifica del numero risulta 0 10011101000 1011 1 *Institute Daniela Fogli – Elementi di Informatica e Programmazione 19 11 1 bit segno, 11 bit esponente, 52 bit mantissa 52 of Electrical and Electronic Engineering Daniela Fogli – Elementi di Informatica e Programmazione 20 Nota sulla rappresentazione dell’esponente IEEE 754 Singola Precisione S E M 1 8 23 Segno S: 0 segno + 255 Esempio: num= -3.5 1 segno - Numeri positivi Segno: 1 Normalizzazione e mantissa N = 1.xxxxxxxxx * 2esp 23 bit (M) hidden bit Rappresentazione dell’esponente E = esp + 127 Rappresentazione in 8 bit a eccesso 127, con le configurazioni 00000000 e 11111111 non ammesse (-126 ≤ esp ≤ 127) 127 +128 num = 11.1 = 1.11 * 21 M = 1100…0 +127 0 Numeri negativi 0 E = 1 +127 = 128 = 10000000 11000000011000000000000000000000 Daniela Fogli – Elementi di Informatica e Programmazione -127 Daniela Fogli – Elementi di Informatica e Programmazione 21 Esercizio d’esame (1) 22 Esercizio d’esame (2) Ricavare il valore decimale del seguente numero in virgola mobile rappresentato secondo lo standard IEEE 754 a 32 bit: [3 punti] 0 10000000 10000000000000000000000 Se il campo esponente di una codifica in formato IEEE 754 in singola precisione contiene il numero 00111011 qual è il valore decimale dell’esponente? [2 punti] Soluzione Soluzione E = esp + 127 Segno: + valori rappresentabili da –127 a +128 (NB: gli estremi non sono utilizzati propriamente) Nel caso specifico: Esponente: Mantissa: E = 59 quindi esp = 59-127 = -68 Daniela Fogli – Elementi di Informatica e Programmazione E = 27 = 128 esp = 128-127 = 1 mant = 1.1 ⇒ N = 1.1due * 21 = 11due = 3dieci 23 Daniela Fogli – Elementi di Informatica e Programmazione 24 L’insieme dei numeri in virgola mobile non coincide con R Esercizio d’esame (3) Rappresentare il numero decimale –4.5 secondo lo standard in virgola mobile IEEE 754 a 32 bit. [3 punti] ! Soluzione ! Segno: 1 Rapp. binaria: 4.5dieci = 100.1due Esponente: esp = 2 ⇒ IEEE754: ⇒ E = 2+127 = 129dieci = 10000001 ⇒ Approssimazioni inevitabili 1 10000001 00100000000000000000000 Daniela Fogli – Elementi di Informatica e Programmazione Daniela Fogli – Elementi di Informatica e Programmazione 25 Esempio: IEEE 754 con singola precisione MinExp = -126 MaxExp = +127 ! [estremi per scopi speciali] ! Numero più piccolo normalizzato: ± 1.00…02 * 2-126 = 2-126 -∞ NORMALIZZATI - 128 -2 NORMALIZZATI + -126 -2 0 -126 2 ! OVERFLOW + 128 2 26 E lo zero??? Numero più grande normalizzato: ± 1.11…12 * 2127 ≈ 2*2127 = 2128 OVERFLOW - L’insieme dei numeri in virgola mobile non è denso ed è limitato tra un numero reale massimo ed uno minimo esprimibili ⇒ L’aritmetica reale del calcolatore è diversa da quella classica N = 1.001 * 22 Forma normalizzata: L’insieme dei numeri reali è denso e illimitato +∞ In generale lo zero non si potrebbe rappresentare perché la mantissa è sempre 1.M … Si usa un valore speciale dell’esponente (E = 0) e si pone la mantissa a 0000….000 ! questa rappresentazione significa 0 Altri casi particolari di E (E=0 oppure E=255) per rappresentare ±∞, risultati di operazioni non valide, numeri denormalizzati NB: nel caso della virgola fissa, l’intervallo dei valori rappresentabili sarebbe molto più limitato. Es: - anche se dedicassimo tutti i 32 bit alla parte intera, max 232-1 - anche se dedicassimo tutti i 32 bit alla parte fraz, min 2-32 Daniela Fogli – Elementi di Informatica e Programmazione 27 Daniela Fogli – Elementi di Informatica e Programmazione 28 I problemi che nascono dalla natura digitale del calcolatore ! ! La separazione fra 1.0..00 x 299 e 1.0..01 x 299 (ovvero, 2-23+99 = 276) è molto maggiore di quella fra 1.0..00 x 20 e 1.0..01 x 20 (ovvero, 2-23) I numeri nelle regioni (-∞, -2128), (-2-126, 0), (0, 2-126), (2128 , +∞) non possono essere rappresentati Determiniamo quanti numeri possono essere rappresentati ! ! ! ! Esempio OVERFLOW - la mantissa varia da m = 1.0..0 a 1.1..1 (223 numeri) -∞ L’esponente varia da e = -126 a + 127 (254 ordini di grandezza) 223 in totale: x 254 numeri positivi, " 4.261.412.865 numeri 223 NORMALIZZATI + -2-126 0 2-126 OVERFLOW + 2128 +∞ x 254 numeri negativi, e lo zero 1.0..00 Inoltre, i due intervalli di numeri positivi e negativi esprimibili non formano insiemi continui: i numeri non sono cioè uniformemente distribuiti (più radi per valori elevati dell’esponente e più fitti per valori piccoli dell’esponente – si infittiscono nei pressi dello zero) Daniela Fogli – Elementi di Informatica e Programmazione 1.0..00 x 299 La precisione è concentrata dove ce n’è bisogno! Daniela Fogli – Elementi di Informatica e Programmazione 29 Ma possono anche accadere dei disastri ! NORMALIZZATI - -2128 30 Cos’era successo? Il 25 febbraio del 1991, durante la Guerra del Golfo, una batteria di missili Patriot americana fallì l'intercettazione di un missile Scud Iracheno. Lo Scud colpì una postazione di soldati americani uccidendone 28 ! In uno studio successivo si scoprì il motivo: ! ! ! calcolo inaccurato del tempo, che si era iniziato a contare dalla messa in funzione della batteria, attraverso un contatore che si aggiornava ogni 0.1 sec il tempo totale (in decimi di secondo) fu moltiplicato per 0.1 per ottenere il tempo in secondi ma 0.1 non è rappresentabile esattamente in virgola mobile 0.110 = 0.00011 ! ! ! Daniela Fogli – Elementi di Informatica e Programmazione 31 l’errore con la precisione adottata: 0.000000095367431640625 il Patriot era in funzione da 100 ore per cui, moltiplicando l’errore per 100x60x60x10, sottostima del tempo di 0.34 s … e in 0.34 sec lo Scud percorre circa 500 m…! Daniela Fogli – Elementi di Informatica e Programmazione 32 Operazioni sui numeri reali ! Addizione e sottrazione: ! ! ! ! Somma tra i seguenti due numeri rappresentati IEEE 754: si trasformano (con eventuale perdita di precisione) gli addendi in una rappresentazione con uguale esponente (il maggiore) si sommano (sottraggono) le mantisse si normalizza se necessario 0 01111011 000…111 ! ! ! ! 33 ! Divisione per numeri molto piccoli Daniela Fogli – Elementi di Informatica e Programmazione 34 Se ho la sottrazione 1.11100…0 x 2-126 1.11000…0 x 2-126 = 0.00100…0 x 2-126 " il risultato può cadere nell’intervallo di overflow (+ o -) ! 0 01111101 010…100 Fenomeno della cancellazione: esempio Problemi con le operazioni Addizioni e sottrazioni possono dare luogo a errori Nota: perdo le 2 cifre meno significative della mantissa 0.010…001 + [ x 2-2] 1.000…011 = [ x 2-2] [ x 2-2] NB: risultato già normalizzato! 1.010…100 Risulta quindi ! E = 125 (– 127 = -2) Sommo le mantisse: si sottraggono gli esponenti si dividono le mantisse si normalizza se necessario Daniela Fogli – Elementi di Informatica e Programmazione 0 01111101 000…011 Porto l’esponente del primo operando a -2: 1.000…111 x 2-4 = 0.010…001 x 2-2 si sommano gli esponenti si moltiplicano le mantisse si normalizza se necessario Divisione: ! e E = 123 (– 127 = -4) Moltiplicazione: ! ! Esempio di addizione ! che normalizzato diventerebbe 1.0…0 x 2-129 che viene dunque approssimato con 0, perché il minimo esponente esprimibile è -126 Esempio: sottrazione fra due numeri quasi uguali " può dar luogo al fenomeno della cancellazione (risultato = 0) NB: in realtà, è possibile esprimere numeri denormalizzati prossimi allo 0, fino a 2-149, ma noi non ce ne occupiamo (vedere libro per gli interessati) Daniela Fogli – Elementi di Informatica e Programmazione 35 Daniela Fogli – Elementi di Informatica e Programmazione 36 Esercizi ! ! Tipologie di codici Esprimere i numeri decimali 45.25, -234.875, 67.75, -83.8125 in codifica binaria secondo lo standard IEEE 754 (in singola precisione a 32 bit) ! Nel seguito vedremo tipologie di rappresentazioni diverse: ! Ricavare il valore decimale dei seguenti numeri in virgola mobile rappresentati secondo lo standard IEEE 754 a 32 bit: ! Senza assumere limitazioni sul numero di bit a disposizione: per numeri [notazione binaria, ovvero posizionale con base 2] Disponendo di un numero di bit limitato: ! ! 0 10000100 00010001000000000000000 ! 1 10000001 01010110000000000000000 ! ! ! ! Daniela Fogli – Elementi di Informatica e Programmazione Codici di compressione (senza | con perdita) Daniela Fogli – Elementi di Informatica e Programmazione 37 Codifica binaria di valori logici ! Valore logico: esprime il valore di verità (vero o falso) di un determinato fatto ! Abbiamo già visto l’Algebra di Boole per codificare variabili logiche e formule logiche Nel seguito vedremo tipologie di rappresentazioni diverse: ! Senza assumere limitazioni sul numero di bit a disposizione: per numeri [notazione binaria, ovvero posizionale con base 2] Disponendo di un numero di bit limitato: ! ! ! ! ! ! ! Daniela Fogli – Elementi di Informatica e Programmazione 38 Tipologie di codici ! ! numeri naturali interi relativi [valore assoluto e segno, compl. a 1, compl. a 2] reali [virgola fissa e virgola mobile] valori logici, caratteri alfabetici, testi suoni, immagini e sequenze video codici per la rilevazione e correzione di errori 39 numeri naturali interi relativi [valore assoluto e segno, compl. a 1, compl. a 2] reali [virgola fissa e virgola mobile] valori logici, caratteri alfabetici, testi suoni, immagini e sequenze video codici per la rilevazione e correzione di errori Codici di compressione (senza | con perdita) Daniela Fogli – Elementi di Informatica e Programmazione 40 ASCII Table Codifica binaria dei caratteri Quanti oggetti? ! 10 cifre ! 26 lettere minuscole + 26 lettere maiuscole = 52 ! ~30 segni di interpunzione ! ~30 caratteri di controllo (LF, CR, EOF, …) ~120 oggetti ⇒ k = %log2120& = 7 (sufficienti 7 bit) ! Il codice ASCII utilizza 7 bit e quindi può rappresentare al massimo n = 27 = 128 caratteri Codice ASCII esteso: utilizza 8 bit e quindi codifica 256 caratteri Codice UNICODE: nato come codice a 16 bit e quindi in grado di codificare 65536 caratteri (anche quelli delle lingue orientali… ma non tutti! Sono circa 200 000!) ⇒ poi estensione a 21 bit ! ! ! Daniela Fogli – Elementi di Informatica e Programmazione ! ! ! ! ! ! ! ! lo stile di scrittura (grassetto, corsivo, sottolineato,…) la dimensione del carattere il tipo o font (times new roman, arial, courier,…) l ampiezza dei margini della pagina … --------------- 32 20 040 SPACE 64 40 100 @ 96 60 140 ` 1 1 001 SOH (start of heading) 33 21 041 ! 65 41 101 A 97 61 141 a 2 2 002 STX (start of text) 34 22 042 " 66 42 102 B 98 62 142 b 3 3 003 ETX (end of text) 35 23 043 # 67 43 103 C 99 63 143 c 4 4 004 EOT (end of transmission) 36 24 044 $ 68 44 104 D 100 64 144 d 5 5 005 ENQ (enquiry) 37 25 045 % 69 45 105 E 101 65 145 e 6 6 006 ACK (acknowledge) 38 26 046 & 70 46 106 F 102 66 146 f 7 7 007 BEL (bell) 39 27 047 ' 71 47 107 G 103 67 147 g 8 8 010 BS 40 28 050 ( 72 48 110 H 104 68 150 h 9 9 011 TAB (horizontal tab) 41 29 051 ) 73 49 111 I 105 69 151 i (backspace) 10 A 012 LF (NL line feed, new line) 42 2A 052 * 74 4A 112 J 106 6A 152 j 11 B 013 VT (vertical tab) 43 2B 053 + 75 4B 113 K 107 6B 153 k 12 C 014 FF (NP form feed, new page) 44 2C 054 , 76 4C 114 L 108 6C 154 l 13 D 015 CR (carriage return) 45 2D 055 - 77 4D 115 M 109 6D 155 m 14 E 016 SO (shift out) 46 2E 056 . 78 4E 116 N 110 6E 156 n 15 F 017 SI (shift in) 47 2F 057 / 79 4F 117 O 111 6F 157 o 16 10 020 DLE (data link escape) 48 30 060 0 80 50 120 P 112 70 160 p 17 11 021 DC1 (device control 1) 49 31 061 1 81 51 121 Q 113 71 161 q 18 12 022 DC2 (device control 2) 50 32 062 2 82 52 122 R 114 72 162 r 19 13 023 DC3 (device control 3) 51 33 063 3 83 53 123 S 115 73 163 s 20 14 024 DC4 (device control 4) 52 34 064 4 84 54 124 T 116 74 164 t 21 15 025 NAK (negative acknowledge) 53 35 065 5 85 55 125 U 117 75 165 u 22 16 026 SYN (synchronous idle) 54 36 066 6 86 56 126 V 118 76 166 v 23 17 027 ETB (end of trans. block) 55 37 067 7 87 57 127 W 119 77 167 w 24 18 030 CAN (cancel) 56 38 070 8 88 58 130 X 120 78 170 x 25 19 031 EM 57 39 071 9 89 59 131 Y 121 79 171 y 26 1A 032 SUB (substitute) 58 3A 072 : 90 5A 132 Z 122 7A 172 z 27 1B 033 ESC (escape) 59 3B 073 ; 91 5B 133 [ 123 7B 173 { 28 1C 034 FS (file separator) 60 3C 074 < 92 5C 134 \ 124 7C 174 | 29 1D 035 GS (group separator) 61 3D 075 = 93 5D 135 ] 125 7D 175 } 30 1E 036 RS (record separator) 62 3E 076 > 94 5E 136 ^ 126 7E 176 ~ 31 1F 037 US (unit separator) 63 3F 077 ? 95 5F 137 _ 127 7F 177 DEL (end of medium) 42 Formati standardizzati che sono orientati alla produzione di documenti destinati a stampa e visualizzazione: ! ! ! testo semplice (text o txt): corrisponde a una sequenza di caratteri ASCII senza caratteristiche di formattazione testo arricchito (rich text format o rtf): in grado di rappresentare un ristretto insieme di formattazioni (stile, dimensione, colori) testo Word (document o doc): in grado di rappresentare un insieme ampio di formattazioni Daniela Fogli – Elementi di Informatica e Programmazione Dec Hx Oct Char --------------- 0 000 NUL (null) per stampa e visualizzazione Esistono diversi codici, detti formati che consentono di rappresentare un insieme più o meno ampio di caratteristiche: ! Dec Hx Oct Char --------------- 0 Formati dei documenti In generale interessa rappresentare non solo i caratteri che compongono un testo ma anche altre caratteristiche di formattazione quali: ! Dec Hx Oct Char --------------- Daniela Fogli – Elementi di Informatica e Programmazione 41 Codifica binaria di testi ! Dec Hx Oct Char 43 Documenti in formato PDF (Portable Document Format, formato di documento portabile) Documenti in formato PS (Postcript) – l’applicazione GSview (Ghostview) legge il formato postcript Non limitati alla rappresentazione di testo ma possono includere anche immagini e disegni Daniela Fogli – Elementi di Informatica e Programmazione 44
© Copyright 2024 Paperzz