Essendo questo un sito di vocazione informatica, la trattazione matematica principe, penso debba essere quella riguardante la basi numeriche, è infatti con il calcolatore elettronico che trova il suo massimo impiego la base 2 in quanto conseguenza necessaria dell'architettura del computer. Il sistema di numerazione che normalmente utilizziamo è quello decimale posizionale, invece quello dell'elaboratore elettronico è binario posizionale.
Con questo termine intendiamo un modo di rappresentare i numeri (cioè quei simboli astratti che rappresentano la quantità), che attribuisce un diverso significato alla cifra a seconda della posizione che essa occupa nel numero. L'utilizzo di una notazione posizionale (o anche notazione polinomiale) offre i vantaggi di poter:
Si capisce bene che non offre questi vantaggi un sistema di numerazione additivo come quello romano dove per rappresentare il numero 1989 bisogna scrivere MCMLXXXIX e non è possibile svolgere una semplice operazione come:
14 |
+ |
XIV |
+ |
|
7 |
= |
VII |
= |
|
21 |
? |
perché non c'è corrispondenza tra le posizioni delle cifre ed il loro valore.
Utilizzando la base 10 si dispone di 10 simboli (0 1 2 3 ...9) per rappresentare un numero. Esprimere in base 10 un numero di n cifre, significa avvalersi di potenze del 10 con esponente 0, 1, 2, 3, ... n-1. Infatti:
2548(10) =
= 2·103 + 5·102 + 4·101 + 8·100 =
= 2·1000 + 5·100 + 4·10 + 8·1 =
= 2000 + 500 + 40 + 8
In altre parole, dire 2548 significa dire 2 migliaia, 5 centinaia, 4 decine ed 8 unità.
Utilizzando invece la base 2 si dispone di soli 2 simboli (0 1) per rappresentare un numero. Pertanto, come sopra, esprimere in base 2 un numero di n cifre, significa avvalersi di potenze del 2 con esponente 0, 1, 2, 3, ... n-1. Infatti:
10011(2) =
= 1·24 + 0·23 + 0·22 + 1·21 + 1·20 =
= 1·16 + 0·8 + 0·4 + 1·2 + 1·1 =
= 16 + 0 + 0 + 2 + 1 = 19(10)
In questo modo posso convertire un numero dalla base 2 alla 10.
Come sopra, utilizzando la notazione posizionale (o polinomiale), si può convertire in base 10 anche un numero espresso in base 8. Questa volta, essendo 8 i simboli a disposizione, ci si avvarrà delle potenze dell'8. Infatti
2543(8) =
= 2·83 + 5·82 + 4·81 + 3·80 =
= 2·512 + 5·64 + 4·8 + 3·1 =
= 1024 + 320 + 32 + 3 = 1379(10)
In questo modo è posso convertire un numero dalla base 8 alla 10.
La peculiarità della base sedici sta nel fatto che essendo 16 i simboli a disposizione, si usano, oltre ai 10 simboli numerici (0 1 2 3 ... 9) anche le prime 6 lettere dell'alfabeto (A B C D E F) secondo la seguente corrispondenza:
| simbolo | valore |
|---|---|
0 |
0 |
1 |
1 |
2 |
2 |
3 |
3 |
4 |
4 |
5 |
5 |
6 |
6 |
7 |
7 |
8 |
8 |
9 |
9 |
A |
10 |
B |
11 |
C |
12 |
D |
13 |
E |
14 |
F |
15 |
Riveste particolare importanza questo sistema in quanto, parlando di HTML, i colori vengono definiti come combinazione dei colori rosso, verde e blu, si dicono infatti colori RGB (red green blue). Ciascuna di queste tre componenti del colore, dispone di 256 valori che essendo espressi in sistema esadecimale consiste di due cifre, infatti:
FF(16) =
= 15·161 + 15·160 =
= 240 + 15 = 255(10)
Considerando anche 00 = 0 sommano appunto 256 varianti di ognuno dei tre colori, infatti avendo 2 cifre con sedici simboli possibili ciascuna, le combinazioni possibili sono 162=256 per ciascun colore. Visto che i colori sono tre, si va da 000000(16) (nero) a FFFFFF(16) (bianco), essendo quindi 6 le cifre esadecimali, le combinazioni totali sono 166 = 16.777.216.