Basi di rappresentazione dei numeri
A volte i numeri vengono descritti con più
o con meno di dieci cifre. Con il diagramma usato alla voce numeri,
se
uso come cifre 0 e 1 posso ottenere ad
es.: 1000.010
1.1010
1111.111
se uso 0, 1 e 2 posso ottenere 1202.12
12.222
0.1000
se uso 0, 1, 2,
, 9, A, B, C, D, E, F posso ottenere 5A.B000
F23.119
E6.CCC
La descrizione con c cifre viene
detta rappresentazione in base c Le rappresentazioni sopra illustrate sono, rispettivamente, in base 2,
o binaria, in base 3 e in base 16.
L'usuale scrittura in base dieci viene
assunta come notazione standard: se non vengono fornite
indicazioni contrarie, una sequenza di cifre viene interpretata come
una rappresentazione numerica in base dieci. Un modo comunemente
impiegato per specificare la base è il seguente:
(2306.222
)7 è il numero che in base 7 è rappresentato dalla sequenza di cifre 2306.222
Come passare dalla rappresentazione in una base diversa da dieci alla rappresentazione decimale?
Nel caso dei numeri interi è facile.
Alle tacche ottenute riportando l'unità
di misura vengono associati ordinatamente i numeri interi in base 10
così come vengono generati da un contatore:
dopo 0, 1,
, 9 si passa a scrivere numeri a due cifre, facendo
variare la prima cifra da 1 a 9 e, per ogni variazione della prima
cifra, facendo variare la seconda da 0 a 9; poi si passa a scrivere
numeri a tre cifre, facendo variare la prima da 1 a 9 e
Utilizzando lo stesso procedimento
impiegando solo le cifre 0 e 1 (l'ultima cifra non è più
9, ma 1), le cifre 0,1,2 e 3 (l'ultima cifra è 3), le cifre
0,1,2,
,9,A e B (l'ultima cifra è B) si ottiene:
Si può dedurre che, come 10 = 101,
100 = 102,
1000 = 103,
,
così:
(10)2 = 21 = 2, (100)2 = 22 = 4, (1000)2 = 23 = 8,
(10)4 = 41 = 4, (100)4 = 42 = 16, (1000)4 = 43 = 64,
(10)12 = 121 = 12, (100)12 = 122 = 144,
(1000)12 = 123 = 1728,
e che, per esempio:
(1346)8 =
1·83 + 3·82 + 4·8 + 6
= 1·512 + 3·64 + 4·8 + 6 = 742
Come passare dalla rappresentazione in base 10 alla rappresentazione in una base diversa?
Stando nel caso dei numeri interi, vediamo, come esempio, come si può trovare che 67 in base 5 diventa 232, cioè che 67=(232)5:
Nel caso dei numeri non interi il passaggio da una rappresentazione all'altra è un po' più complicato, come si può vedere dalla figura seguente, che mostra come il procedimento per tracciare le tacche considerato alla voce numeri si estende alle basi non decimali (se si usano 4 cifre ogni divisione viene scandita in 4 sottodivisioni, ).
Si osservi che 1.5 = (1.2)4
= (1.1)2. Quindi 1.5 corrisponde
esattamente a una tacca sia in base 4 che in base 2. Ma ciò
non accade per la base 5: posso solo dire che (1.2)5
è una approssimazione per difetto del nostro numero o,
considerando un'ulteriore suddivisione,
In particolare abbiamo che il concetto di
numero limitato dipende dalla base di rappresentazione: 1.5 è
limitato in base 10 ma in base 5 diventa 1.222
, che ha periodo
2. Nel caso si usi la notazione in base 10, si può con più
precisione parlare di numeri decimali limitati. Se si
usa la base 2 si parla di numeri binari limitati.
Su tale questione si torna alla voce strutture numeriche (in cui si vede come il concetto di numero periodico non dipende dalla base di rappresentazione) e alla voce calcolatore (6) (in cui si vede come la dipendenza del concetto di numero limitato dalla base di rappresentazione influisca sulle approssimazioni operate dai linguaggi di programmazione e dai fogli di calcolo).
Nota. Il termine numero decimale sta a indicare numero espresso in base dieci, in cui l'aggettivo "decimale" viene usato in modo analogo a quanto si fa parlando di sistema metrico decimale (insieme organico di unità di misura in cui quelle impiegate per lo stesso tipo di grandezza sono in rapporto tra loro secondo potenze di dieci). Nel linguaggio comune (e, impropriamente, in qualche libro di testo di matematica) si usa "decimale" al posto di "non intero" e/o si usa l'espressione "numeri decimali" per indicare l'insieme dei numeri reali, in pratica come sinonimo dell'espressione (pure usata nel linguaggio comune, ma non conflittualmente con l'uso matematico) di "numeri frazionari" (numeri dotati di una "parte frazionaria"). Un uso ambiguo analogo è quello di parlare di "cifre decimali" intendendo le cifre frazionarie (espresse in base dieci) invece che le cifre 0, 1, , 9 (così come 0 e 1 sono le "cifre binarie", ovvero 0, 1, 2, , 9, A, B, C, D, E e F, le cifre usate in base sedici, sono le "cifre esadecimali" - "esa" sta per "sei", dal greco "hex").
Ci sono problemi
analoghi con l'uso della notazione sessagesimale.
Infatti in questa notazione le frazioni di
unità vengono scritte in una specie di "base 60",
cioè usando come cifre "00", "01",
, "59".
La durata di 12 minuti e mezzo posso
esprimerla, usando come unità il minuto, con 12.5 (notazione
standard) o con 12:30 (notazione sessagesimale); a volte si trova
scritto anche 12.30 o 12,30.
La durata in minuti 7:20 (7 minuti e 20
secondi), che così scritta ha un'espressione limitata, in notazione standard assume la forma illimitata 7.333
minuti: 20
sessantesimi sono pari a 1/3, che in base 10 è 0.333
.
La codifica BCD usata dalle calcolatrici è una notazione ibrida come quella sessagesimale (base 60 con cifre scritte in base 10): è una base 10 che usa le cifre decimali scritte come le quaterne di bit che ne esprimono il valore in base 2 (0000, 0001, , 1001).
Per indicare le durate temporali e le ore, come abbiamo osservato sopra, si usa una notazione ibrida che mescola base 10 e base 60. In realtà si impiegano anche una base 12 (in cui le "cifre" sono 1, 2, , 11, 12: piuttosto che "0" si usa "12") e una base 24 (cifre: 1, 2, , 23, 24): da 24:59:59 o 12:59:59 PM l'orologio scatta a 1:00:00.
In R se si
scrive sprintf("%o",z) o sprintf("%x",z) con
z intero si ottiene la sua rappresentazione in base otto e in base sedici:
sprintf("%o",c(16,17,500,1000)); sprintf("%x",c(16,17,500,1000))
"20" "21" "764" "1750"
"10" "11" "1f4" "3e8"
Ricordiamo che i numeri interi che sono multipli di 2, ossia i numeri del tipo 2n con n numero intero, sono chiamati numeri pari e che gli altri numeri interi sono chiamati dispari. In base dieci i numeri pari terminano con 0, 2, 4, 6 od 8. In base tre, ad esempio, 10 e 11 sono, in ordine, dispari e pari (in base dieci diventano 0+3 = 3 e 1+3 = 4).