La rappresentazione posizionale dei numeri in base risale agli Indiani, e fu introdotta in Europa nel '200, attraverso gli Arabi. Si trova descritta nel "Liber Abacus" di Leonardo Fibonacci, un manuale per imparare a far di conto con il nuovo metodo, che prometteva grandi vantaggi pratici.
La parola "cifra" proviene dall'arabo "sifr", che significava "vuoto" e indicava lo zero. Fibonacci tradusse "sifr" con "zefiro" (il nome di un gradevole venticello primaverile), da cui proviene il nostro "zero". Lo zero non esisteva nei sistemi di numerazione precedenti, ed è essenziale per un sistema posizionale: consideriamo ad esempio la rappresentazione di "centodue", in cui manca la potenza di dieci con esponente uno: è necessaro servirsi dello zero come "segnaposto" per indicare appunto la mancanza della potenza , altrimenti scriveremmo , che ha un significato del tutto diverso.
I nomi dei numeri, che ancora usiamo, suggeriscono che un modo di contare basato sul 10 fosse già in uso, dato che diamo nomi speciali alle potenze di dieci: dieci, cento, mille, ecc., e costruiamo i nomi dei numeri servendoci di questi nomi speciali: venti, trenta, duecento, tremila, quattro milioni e così via.
Sono anche state trovate tracce di un antichissimo modo di contare basato sul numero , un osso di lupo neolitico su cui sono incise un certo numero di tacche divise in gruppi di cinque, e con la tacca corrispodente al (ossia a elevato al quadrato) più lunga delle altre, quindi evidenziata.
I romani usavano, come abbiamo visto, un sistema di numerazione diverso, sempre basato sul dieci, ma non posizionale, ossia in cui il significato delle cifre è sempre lo stesso, indipendentemente dalla loro posizione (si dice anche, in questo caso, che le cifre hanno un valore nominale). Il sistema romano era invece additivo (e sottrattivo), nel senso che, ad esempio, nella rappresentazione del numero , ossia XXIV, i valori delle prime due cifre si sommano per ottenere ; le ultime due cifre danno mediante sottrazione di da , e viene poi sommato al già ottenuto per avere . Un sistema poco pratico, come si può immaginare, per scrivere numeri molto grandi.
Dieci non è l'unica base possibile: abbiamo già detto che esistono tracce di un sistema di conteggio preistorico basato sul cinque. I Sumeri usavano un sistema di rappresentazione misto che utilizzava la base , con il come base ausiliaria. Per rappresentare le cifre veniva usato un sistema additivo, del tipo di quello romano, basato su simboli per , , , .
Ad esempio, il numero
veniva scritto in questo modo (utilizzando, per semplicità, al posto
delle cifre originali per , ,
e ,
i nostri simboli attuali, e tenendo presente che la cifra per
era ottenuta combinando graficamente le cifre per
e per ):
e quindi era rapppresentato come
mescolando, quindi, le basi e .
Gli astronomi babilonesi usavano un sistema basato anch'esso su e , ma che, a differenza di quello sumero, era posizionale, con un grave inconveniente: la mancanza di un simbolo equivalente al nostro zero. Al posto di questo veniva lasciato uno spazio vuoto, ma solo tra due cifre consecutive, mai alla fine del numero. Questo sistema comportava notevoli ambiguità, sia per il fatto che, ad esempio, non è facile distinguere uno spazio vuoto da due spazi vuoti consecutivi, ma anche perchè un simbolo isolato, ad esempio , può in questo modo rappresentare sia il numero uno, che , che , e così via. L'ambiguità veniva poi risolta caso per caso utilizzando il contesto.