in un calcolatore
Informazioni:
Dati che, interpretati secondo regole predefinite, hanno un significato.
Ad esempio: testi, numeri interi e reali, immagini, suoni, etc.;
Alfabeto (a): l’insieme delle cifre disponibili per esprimere i numeri; ogni
cifra ha un valore compreso tra 0 e (b-1). (Ad esempio, nella numerazione
decimale l’alfabeto e` a={0,1,2,3,4,5,6,7,8,9}).
Base (b): è la cardinalità dell’alfabeto (il numero di simboli che lo
compongono). Ad esempio, nel caso decimale, b=10.
Codifica dei Numeri Naturali
Dato un sistema di numerazione posizionale <a, b> con b=p e a={0,1,2,...p-
1}; sia anan-1...a1a0 la codifica di un numero naturale N in base p; allora il
valore di N, in base decimale è dato dalla formula:
Np = anpn+an-1pn-1+...a1p1+a0p0
La formula:
Np = an . pn+an-1. pn-1+...a1.p1+a0
Ripetiamo il procedimento su Q2, Q3, etc. per ottenere le cifre rimanenti (a2,
a3, .. an).
Sia N il numero.
1. Si divide N per la nuova base p; sia Q il quoziente ed R il
resto.
2. Si converte R nella corrispondente cifra della nuova base
p.
3. Si aggiunge la cifra così ottenuta a sinistra delle cifre
ottenute in precedenza.
4. Se Q=0, fine; Altrimenti poni N = Q e torna al passo 1.
Conversione binaria
Sistema di numerazione
Decimale Binario Ottale Esadecimale
0 0000 00 0
1 0001 01 1
2 0010 02 2
3 0011 03 3
4 0100 04 4
5 0101 05 5
6 0110 06 6
7 0111 07 7
8 1000 10 8
9 1001 11 9
10 1010 12 A
11 1011 13 B
12 1100 14 C
13 1101 15 D
14 1110 16 E
15 1111 17 F
Aritmetica Binaria: operazioni sui numeri naturali
Esempio: (11011)2+(00110)2
11011 + (27)
00110 = (6)
--------
100001 (33)
Il bit più alto (bit di carry) corrisponde ad un bit del registro Program Status
Word (PSW).
Sottrazione di numeri binari naturali:
1100 - (12)
0011 = (3)
-----
1001 (9)
Codici per i Numeri Relativi
Ad esempio:
parole di 5 bit: +5 = 00101
-10 = 11010
Ad esempio:
m = 2 ==> posso rappresentare 22 -1 = 3 numeri:
Valore Binario Valore Decimale
00 +0
01 +1
10 -0
11 -1
rN – X
La somma del numero e del suo complemento alla base su N cifre dà una
stringa di N cifre a zero (la N+1-ma cifra è a 1, ma si perde a sinistra).
(rN - 1) – X
I numeri positivi sono rappresentati dal proprio modulo con anteposto un bit
di segno pari a zero.
Si può verificare overflow solo se gli operandi hanno ugual segno (producendo
un risultato di segno opposto).
Esempi:
Metodo dello shift: per definizione di sistema posizionale uno shift del numero
a sinistra (a destra) di N posizioni equivale a moltiplicare (dividere) per 2N.
Esempi:
Rappresentando in modulo e segno il segno viene sempre replicato (se si
scarica un 1 è overflow):
0010 X 2 = 0100; 1010 X 2 = 0100 (overflow)
0010 DIV 2 = 0001; 1010 DIV 2 = 1001.
Ad esempio:
Base decimale: p=10, N10= 0,587 = 5 . 10-1 + 8 . 10-2 + 7 . 10-3.
Base binaria: p= 2, N2= 0,1011 = (1 . 2-1+0 . 2-2+1 . 2-3+1 . 2-4)10 =
(0,6975)10
Conversione di un numero decimale frazionario dalla
base p alla base 10 - 1
Sia:
Np = a-1 . p-1+a-2. p-2+...a-n.p-n
Moltiplico Np per p:
Ripetiamo il procedimento su F3, F4, etc. per ottenere le cifre rimanenti (a-3,
a-4, .. an).
Conversione di un numero decimale frazionario dalla
base p alla base 10 - 2
Si giustappongono le rappresentazioni:
<rappresentazione I> . <rappresentazione F>
331,697510= (00101001011,10110)2
m = mantissa
n = esponente (o caratteristica)
r = m . bn
dove b e' un numero intero che indica una base utilizzata per la notazione
esponenziale (in generale, se p è la base del sistema di numerazione, p = b).
Rappresentazione di reali in virgola mobile – 2
esponente mantissa
0 | 0 | 00000101 | 1101010000000000000000
Precisione:
è data dal numero di cifre in base 10 rappresentabili con la mantissa.
Ad esempio:
Se la mantissa è rappresentata da 20 bit, la precisione è di 6 cifre (max
valore rappresentabile dalla mantissa 220-1 106 = 1000000).
Rappresentazione:
con troncamento: 0 01011 1000000010 (=1028);
con arrotondamento: 0 01011 1000000011 (=1030).
Esempio:
r= 0,810 = 0,11001100110..…x 20 (periodico)
con: 10 bit per la mantissa, 5 bit per l'esponente.
Rappresentazione:
il minimo numero reale e' (in valore assoluto): 0,1 . 2-1023 ~ 0,5 . 10-307
Esempio:
0 e’ codificato come 04810 e 3016 (e 011 00002)
9 e’ codificato come 05710 e 3916
a e’ codificato come 09710 e 6116
z e’ codificato come 12210 e 7A16
Il codice ASCII esteso (ISO 8859) utilizza invece 8 bit (256 caratteri).
Tabella dei Codici ASCII (Basic Latin)
0 NUL 1 SOH 2 STX 3 ETX 4 EOT 5 ENQ 6 ACK 7 BEL
8 BS 9 HT 10 NL 11 VT 12 NP 13 CR 14 SO 15 SI
16 DLE 17 DC1 18 DC2 19 DC3 20 DC4 21 NAK 22 SYN 23 ETB
24 CAN 25 EM 26 SUB 27 ESC 28 FS 29 GS 30 RS 31 US
32 SP 33 ! 34 " 35 # 36 $ 37 % 38 & 39 '
40 ( 41 ) 42 * 43 + 44 , 45 - 46 . 47 /
48 0 49 1 50 2 51 3 52 4 53 5 54 6 55 7
56 8 57 9 58 : 59 ; 60 < 61 = 62 > 63 ?
64 @ 65 A 66 B 67 C 68 D 69 E 70 F 71 G
72 H 73 I 74 J 75 K 76 L 77 M 78 N 79 O
80 P 81 Q 82 R 83 S 84 T 85 U 86 V 87 W
88 X 89 Y 90 Z 91 [ 92 \ 93 ] 94 ^ 95 _
96 ` 97 a 98 b 99 c 100 d 101 e 102 f 103 g
104 h 105 i 106 j 107 k 108 l 109 m 110 n 111 o
112 p 113 q 114 r 115 s 116 t 117 u 118 v 119 w
120 x 121 y 122 z 123 { 124 125 } 126 ~ 127 DEL
ISO 8859-1 e Windows-1252
Il codice ISO 8859-1
estende il codice ASCII con
ulteriori 128 posizioni, di
cui le prime 32 riservate a
caratteri di controllo non
stampabili. Le successive
(da 160 a 255) definiscono
segni di punteggiatura,
caratteri accentati e spe-
ciali delle lingue latine. Vi
sono altre pagine di codice
ISO 8859 (-2, -3...) per
altri gruppi linguistici.
Windows 1252 definisce
le posizioni da 128 a 159,
evidenziate, con caratteri
stampabili; è adottato dalle
versioni anglosassoni e
nord-europee di Windows
3.1, 95 e NT.
Unicode – 1
Nel 1986 con una iniziativa congiunta di Apple e Xerox iniziò la ricerca di un
sistema di codifica universale. Seguì nel 1991 la costituzione del consorzio
Unicode (Unique, Universal, Uniform Coding System) con obiettivo la
definizione del nuovo codice per caratteri; la prima versione (1.0) del codice è
stata rilasciata nel 1991, l’attuale è la 4.0, equivalente alla ISO/IEC 10646.
1
UTF sta per UCS Trasformation Format
Il set di caratteri Windows Glyph List 4 (WGL4)
fc 2B
1
In base al teorema di Fourier, ogni grandezza periodica può essere rappresentata
come somma di più grandezze sinusoidali di ampiezze opportune e frequenza multipla
della frequenza fondamentale della grandezza da rappresentare.
Codifica di audio ed immagini - 3
Voce (telefonia digitale, banda 300 – 3400 Hz): fc di 8KHz con 8 bit per
campione (64Kbps - bit per secondo);
Musica (CD audio): fc di 44.1KHz su due canali con 16 bit per campione
(1,4 Mbps, 630 MB per una ora di registrazione).
E’ usata nelle stampanti, dove la luce bianca è quella riflessa dal foglio,
mentre il filtraggio dei colori avviene ad opera dell’inchiostro colorato che
viene deposto.
Una triade di colori primari molto usata è ciano, Magenta, giallo (cui viene
aggiunto anche il nero, dando luogo al modello CMYK: la combinazione dei
tre colori primari dà un nero “sporco”).
Codifica di immagini bitmap - 3
In ogni caso per rappresentare un pixel occorre, per ciascuno dei suoi tre
colori primari, un valore corrispondente alla quantità di inchiostro da
depositare o all’intensità luminosa da emettere.
Una codifica molto comune prevede otto bit per ciascuno dei tre colori primari,
cioè una profondità di colore (numero di bit per pixel) di 24 bit.
Quantità di memoria necessaria: prodotto del numero dei suoi pixel per la
profondità di colore o il logaritmo binario del numero di livelli di grigio
adottati.
TIFF (Tagged Image File Format). Contengono delle etichette (tag) che
specificano le proprietà dei file e dell’immagine. Immagini a colori con
profondità fino a 24 bit e compressione.
1
Centre International d’Eclairage, standard di definizione del colore indipendente dalla
periferica; in genere usato per la calibrazione.
Codifica di sequenze sonore e filmati
Considerazioni: