Cambio di base da ottale a binario.

abc16-1
Ciao a tutti. Questo è il mio primo post e spero di non sbagliare sezione in cui inserire la discussione.
Domanda: perché convertendo un numero ottale (esadecimale) in numero binario si può sostituire ad ogni cifra del numero ottale la rispettiva terna (quaterna) di cifre binarie?

Risposte
axpgn
Perché in binario con tre cifre rappresenti i numeri che vanno dallo zero al sette che sono proprio gli otto simboli usati in ottale (ed analogamente in esadecimale: in binario con quattro cifre rappresenti i numeri dallo zero al quindici)

Cordialmente, Alex

abc16-1
Ciao Alex.
C'è una dimostrazione?

axpgn
Quale dimostrazione? Scherzi? Corrispondenza biunivoca ti dice niente?

DecimaleBinarioOttale
00001
12010
30113
10045
56110



Fai la stessa tabella per l'esadecimale ...

abc16-1
No, non scherzavo.
La tabella mi è chiara. Non so se la questione sia banale, ma non riesco a comprendere il principio per cui si può iterare la sostituzione delle terne (quaterne) per ciascuna cifra di un numero ottale (esadecimale).
Se c'è qualcuno armato di pazienza...

apatriarca
Lo puoi fare perché 8 e 16 sono potenze di due. Tre o quattro cifre binarie sono quindi in corrispondenza biunivoca con una cifra ottale o esadecimale. Volendo fare la stessa cosa con la notazione decimale potresti pensare ad un sistema numerico che abbia come base 1000. Ogni gruppo di 3 cifre corrisponderebbe quindi ad una cifra di questo sistema numerico.

apatriarca
Volendo essere più formale si può dimostrare nel seguente modo. Sia \(n \in \mathbb N\) il numero che vogliamo rappresentare. Se scegliamo una base \(2 \leq b \in \mathbb N,\) possiamo scrivere \( n = \sum_i c_i\,b^i \) dove \( c_i \) è la \(i\)-esima cifra di \(n\) nella base \(b\). Se a questo punto scegliamo di rappresentare il numero nella base \( b^k \) per un qualche \(k > 1\) avremo che
\[ n = \sum_i d_i\,\bigl(b^k\bigr)^i = \sum_i \Biggl( \sum_{j = 0}^{k-1} c_{i\,k + j}\,b^j \Biggr)\bigl(b^k\bigr)^i \]
dove le \( d_i \) sono le cifre nella base \(b^k\).

axpgn
@abc
I numeri binari di tre cifre sono otto e le cifre di un numero ottale sono otto quindi puoi costruire una corrispondenza biunivoca tra i due insiemi. Basta questo (e analogamente per l'esadecimale).

Rispondi
Per rispondere a questa discussione devi prima effettuare il login.