Conversione da decimale a binario

Messaggioda ZfreS » 04/11/2018, 18:38

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.
ZfreS
Cannot live without
Cannot live without
 
Messaggio: 1020 di 4589
Iscritto il: 22/10/2016, 17:52

Re: Conversione da decimale a binario

Messaggioda Obidream » 05/11/2018, 15:41

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
((v & 0xff) && (v & 0xff00) && (v & 0xff0000) && (v & 0xff000000))
Avatar utente
Obidream
Advanced Member
Advanced Member
 
Messaggio: 945 di 2195
Iscritto il: 07/02/2012, 20:57

Re: Conversione da decimale a binario

Messaggioda ZfreS » 05/11/2018, 15:57

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?
ZfreS
Cannot live without
Cannot live without
 
Messaggio: 1022 di 4589
Iscritto il: 22/10/2016, 17:52

Re: Conversione da decimale a binario

Messaggioda Obidream » 05/11/2018, 21:07

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$
((v & 0xff) && (v & 0xff00) && (v & 0xff0000) && (v & 0xff000000))
Avatar utente
Obidream
Advanced Member
Advanced Member
 
Messaggio: 946 di 2195
Iscritto il: 07/02/2012, 20:57

Re: Conversione da decimale a binario

Messaggioda ZfreS » 06/11/2018, 14:06

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.
ZfreS
Cannot live without
Cannot live without
 
Messaggio: 1024 di 4589
Iscritto il: 22/10/2016, 17:52

Re: Conversione da decimale a binario

Messaggioda axpgn » 06/11/2018, 14:36

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$
axpgn
Cannot live without
Cannot live without
 
Messaggio: 12253 di 40654
Iscritto il: 20/11/2013, 22:03

Re: Conversione da decimale a binario

Messaggioda ZfreS » 06/11/2018, 16:57

Ah ok ora ho capito, quindi si trattava di un teorema di aritmetica!
ZfreS
Cannot live without
Cannot live without
 
Messaggio: 1027 di 4589
Iscritto il: 22/10/2016, 17:52

Re: Conversione da decimale a binario

Messaggioda ZfreS » 06/11/2018, 17:52

Ma questo varrebbe anche con numeri diversi da 10?
Per esempio se divido per 8 mi viene in ottale, giusto?
ZfreS
Cannot live without
Cannot live without
 
Messaggio: 1029 di 4589
Iscritto il: 22/10/2016, 17:52

Re: Conversione da decimale a binario

Messaggioda axpgn » 06/11/2018, 18:19

È solo matematica :D

Se dividi per $8$ i resti saranno compresi tra $0$ e $7$ quindi vedi tu … :wink:
axpgn
Cannot live without
Cannot live without
 
Messaggio: 12255 di 40654
Iscritto il: 20/11/2013, 22:03

Re: Conversione da decimale a binario

Messaggioda ZfreS » 06/11/2018, 18:32

Perfetto, grazie tante per i chiarimenti!
ZfreS
Cannot live without
Cannot live without
 
Messaggio: 1032 di 4589
Iscritto il: 22/10/2016, 17:52


Torna a Informatica

Chi c’è in linea

Visitano il forum: Nessuno e 1 ospite