Conversione da decimale a binario

oleg.fresi
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
Obidream
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

oleg.fresi
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?

Obidream
Posso provare a spiegartelo, è più facile farlo che dirlo :lol:

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$

oleg.fresi
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.

axpgn
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$

oleg.fresi
Ah ok ora ho capito, quindi si trattava di un teorema di aritmetica!

oleg.fresi
Ma questo varrebbe anche con numeri diversi da 10?
Per esempio se divido per 8 mi viene in ottale, giusto?

axpgn
È solo matematica :D

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

oleg.fresi
Perfetto, grazie tante per i chiarimenti!

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