Conversione da decimale a binario
Vorrei capire perchè quando si passa da decimale a binario dividendo il numero per 2, alla fine i resti si prendono in ordine inverso. Poi vorrei sapere se c'è un altra tecnica di conversione da decimale a binario.
Risposte
Per il primo dubbio pensa a come viene rappresentato un numero in un sistema di numerazione posizionale. Invece per passare da decimale a binario esiste il metodo delle potenze di 2 con le sottrazioni
Un numero nel sistema posizionale viene rappresentato così: prima le unità poi le decine poi le centinai e poi le migliaia ecc.
Potresti farmi vedere quel metodo o linkarmi un sito?
Potresti farmi vedere quel metodo o linkarmi un sito?
Posso provare a spiegartelo, è più facile farlo che dirlo
Prendiamo ad esempio il numero $45$; ti scrivi le potenze di $2$ a partire da quella che è minore o uguale a $45$ quindi:
$32....16....8....4....2....1$
Ora siccome $32 <= 45$ è vera ci metti un $1$ sotto:
$32....16....8....4....2....1$
$1$
$45-32 = 13$ ma $16<= 13$ è falsa quindi ci metti $0$:
$32....16....8....4....2....1$
$1.......0$
Scorri alla potenza successiva, $8$ è minore di 13:
$32....16....8....4....2....1$
$1.......0....1$
Ora calcoli $13 - 8 = 5$ e procedi come prima:
$32....16....8....4....2....1$
$1.......0....1....1$
$5-4=1$ quindi:
$32....16....8....4....2....1$
$1.......0....1....1....0$
Siccome $1 <= 1$ è vera:
$32....16....8....4....2....1$
$1.......0....1....1....0....1$
Quindi $45_10 = 101101_2$

Prendiamo ad esempio il numero $45$; ti scrivi le potenze di $2$ a partire da quella che è minore o uguale a $45$ quindi:
$32....16....8....4....2....1$
Ora siccome $32 <= 45$ è vera ci metti un $1$ sotto:
$32....16....8....4....2....1$
$1$
$45-32 = 13$ ma $16<= 13$ è falsa quindi ci metti $0$:
$32....16....8....4....2....1$
$1.......0$
Scorri alla potenza successiva, $8$ è minore di 13:
$32....16....8....4....2....1$
$1.......0....1$
Ora calcoli $13 - 8 = 5$ e procedi come prima:
$32....16....8....4....2....1$
$1.......0....1....1$
$5-4=1$ quindi:
$32....16....8....4....2....1$
$1.......0....1....1....0$
Siccome $1 <= 1$ è vera:
$32....16....8....4....2....1$
$1.......0....1....1....0....1$
Quindi $45_10 = 101101_2$
Grazie, ho capito questo metodo, però non ho capito perchè quando si passa da decimale a binario dividendo il numero per 2, alla fine i resti si prendono in ordine inverso.
Algoritmo della divisione
$1234:10\ ->\ 1234=123*10+4$ cioè il resto è $4$
$123:10\ ->\ 123=12*10+3$ cioè il resto è $3$
$12:10\ ->\ 12=1*10+2$ cioè il resto è $2$
$1:10\ ->\ 1=0*10+1$ cioè il resto è $1$
$1234:10\ ->\ 1234=123*10+4$ cioè il resto è $4$
$123:10\ ->\ 123=12*10+3$ cioè il resto è $3$
$12:10\ ->\ 12=1*10+2$ cioè il resto è $2$
$1:10\ ->\ 1=0*10+1$ cioè il resto è $1$
Ah ok ora ho capito, quindi si trattava di un teorema di aritmetica!
Ma questo varrebbe anche con numeri diversi da 10?
Per esempio se divido per 8 mi viene in ottale, giusto?
Per esempio se divido per 8 mi viene in ottale, giusto?
È solo matematica 
Se dividi per $8$ i resti saranno compresi tra $0$ e $7$ quindi vedi tu …

Se dividi per $8$ i resti saranno compresi tra $0$ e $7$ quindi vedi tu …

Perfetto, grazie tante per i chiarimenti!