Agli ideologi del "torniamo alle origini" piace sparare a zero contro la "Nuova Matematica" dai tempi dell'educazione hippy. L'enfasi della Nuova Matematica sulle basi alternative è uno dei bersagli preferiti: la Nuova Matematica ritiene importante insegnare ai ragazzi che la base 10 è solo una convenzione arbitraria e che i numeri possono essere espressi anche come posizioni che rappresentano le potenze di altri numeri, come 2. Questa è una inutile perdita di tempo, come dichiarano i critici? Beh, no. Non solo l'insegnamento di basi alternative porta ad una più profonda conoscenza dell'aritmetica in generale, ma è anche utile quando si ha a che fare con i computer. Per i computer la matematica non è decimale, ma binaria.
La matematica in base 10 usa dieci cifre differenti, da 0 a 9. Ma i moderni computer non fanno corrispondere dieci differenti livelli di voltaggio alle varie cifre: c'è un alto voltaggio che scorre in un certo punto, od un basso voltaggio. Due cifre tra cui scegliere. 1 o 0. Questo rende la base 2 l'ordine del giorno. Così, nel caso in cui non avete mai incontrato o vi siete dimenticati della matematica con basi alternative, qui c'è una rapida veduta d'insieme.
Prima di tutto gli esponenti (o potenze). La frase "alla potenza di" significa "moltiplicare insieme il numero per il numero di volte che segue". Così "tre alla potenza di quattro" (o "tre alla quarta potenza") significa prendere quattro 3 e moltiplicarli tra di loro: 3 per 3 per 3 per 3. Un numero alla potenza di 1 è se stesso. Un numero alla potenza di 0 è sempre 1.
Ogni numero ha un certo numero di posizioni. Ogni posizione rappresenta un numero che viene aggiunto agli altri numeri rappresentati dalle altre posizioni, ed il totale è la quantità rappresentata dall'intero numero. Il numero rappresentato da ogni data posizione è la base che viene usata per la potenza di quante posizioni la posizione è distante dalla posizione più a destra, per la cifra indicata nella posizione stessa. Questa cosa è molto contorta da illustrare in astratto, ma è molto semplice nella pratica. Ecco alcuni esempi
Cominciamo con la base 10. Prendiamo ad esempio il numero 1906
Ora sommiamo insieme le posizioni. 1000 + 900 + 0 + 6 = 1906. Che è quello con il quale abbiamo cominciato, ed è quello che ci si aspetta quando si converte un numero decimale (base 10) in un decimale. Ora che abbiamo visto un esempio facile, cambiamo base e convertiamo da base 2, quella che usa un computer, in base 10, che è quella in cui la maggior parte degli umani pensa.
Prendiamo un numero binario (cioè, un numero in base 2). Scegliamo 10101.
Sommiamo insieme le posizioni. 16 + 0 + 4 + 0 + 1 = 21 decimale. 10101 binario = 21 decimale.
I numeri binari diventano molto lunghi molto in fretta. Prima abbiamo usato il decimale 1906 come esempio; in binario questo è 11101110010. Così molti programmatori scelgono di usare una base più efficiente. Base 10? No, è molto più facile usare una potenza di 2, e questo è il motivo per il quale l'esadecimale, base 16, è la soluzione consueta. L'esadecimale (spesso chiamato "hex") usa le cifre da 0 a 9 come in decimale, e poi usa le lettere da A ad F a rappresentare i decimali da 10 a 15. È conveniente per i programmatori perché i numeri binari possono essere convertiti in numeri esadecimali quattro bit alla volta. Ad esempio prendiamo un numero binario lungo, come 1001110100110101. Per convertirlo in esadecimale lo suddividiamo in unità di quattro bit:
1001 1101 0011 0101
e convertiamo ognuna di queste unità in una cifra esadecimale. 1001 = 9, 1101 = D (13 decimale), 0011 = 3, 0101 = 5 Così la versione esadecimale di quel numero binario è 9D35. Ora, per verificare che sia veramente così facile, assicuriamoci che corrispondano alla stessa cosa in decimale (comprimendo un po' il processo, questa volta):
32768 + 0 + 0 + 4096 + 2048 + 1024 + 0 + 256 + 0 + 0 + 32 + 16 + 0 + 4 + 0 + 1 = 40245 decimale.
Ora l'esadecimale.
36864 + 3328 + 48 + 5 = 40245. Ta-da! Ha funzionato. Perché funziona? Vediamola in questo modo:
Ora, prendiamo una cifra esadecimale e convertiamola nel binario equivalente: 1x hex = (8x, 4x, 2x, 1x) binario. Adesso moltiplichiamolo per ognuna delle posizioni esadecimali:
Come si può vedere, sono esattamente le stesse delle posizioni binarie. L'unica posizione in comune tra i numeri binari/esadecimali e queli decimali è la prima, quindi quella decimale non è una base molto conveniente da usare con i computer.