Conversione da decimale a binario
ciao a tutti ragazzi! tra poco avrò l'esame di Architetture degli elaboratori e delle reti, e dato che nel test c'è anche un esercizio di conversione, mi scoccia non farlo perchè non è difficile, però mi è venuto un dubbio:
nel vecchio tema d'esame, l'esercizio era: eseguire l'operazione 15-18 usando il complemento a 2 e scrivendo tutti i passaggi di traduzione decimale/binario.
Ora, sul 15 non ho problemi, poichè facendo 15 diviso 2 = 7 con resto 1, 7 diviso 2 = 3 con resto 1, 3 diviso 2 = 1 resto 1, 1 diviso 2 = 0 con resto 1.
quindi il numero 15 è 1111 in binario.
Ora, stavo applicando lo stesso metodo con il 18, solo che mi esce 0010 (mentre il risultato dovrebbe essere 10010), e non riesco a capirne il motivo dato che il procedimento che ho applicato è sempre quello...
Grazie mille!
nel vecchio tema d'esame, l'esercizio era: eseguire l'operazione 15-18 usando il complemento a 2 e scrivendo tutti i passaggi di traduzione decimale/binario.
Ora, sul 15 non ho problemi, poichè facendo 15 diviso 2 = 7 con resto 1, 7 diviso 2 = 3 con resto 1, 3 diviso 2 = 1 resto 1, 1 diviso 2 = 0 con resto 1.
quindi il numero 15 è 1111 in binario.
Ora, stavo applicando lo stesso metodo con il 18, solo che mi esce 0010 (mentre il risultato dovrebbe essere 10010), e non riesco a capirne il motivo dato che il procedimento che ho applicato è sempre quello...
Grazie mille!
Risposte
perchè è complemento a due 10010 è la rappresentazione in C2 di 10010 se non mi sbaglio
il 18 ha una cifra in piu'
10010
il primo 1 --> 16
lo 0 --> 8
lo 0 --> 4
l'altro 1 --> 2
lo 0 --> 1
16 + 2 = 18
10010
il primo 1 --> 16
lo 0 --> 8
lo 0 --> 4
l'altro 1 --> 2
lo 0 --> 1
16 + 2 = 18
"Umby":
il 18 ha una cifra in piu'
10010
il primo 1 --> 16
lo 0 --> 8
lo 0 --> 4
l'altro 1 --> 2
lo 0 --> 1
16 + 2 = 18
uhm a essere sincero non ho capito... cioè io ovviamente avrei potuto ricavare il 18 semplicemente sommando tre volte 1 al 15, però volevo sapere se c'era un metodo universale per determinare la conversione da decimale a binario.. poi quando avrei dovuto fare la differenza tra i due, dovevo aggiungere uno 0 al 15 oppure potevo lasciare tutto così com'era e fare la differenza??
"Lordofnazgul":
uhm a essere sincero non ho capito... cioè io ovviamente avrei potuto ricavare il 18 semplicemente sommando tre volte 1 al 15, però volevo sapere se c'era un metodo universale per determinare la conversione da decimale a binario.. poi quando avrei dovuto fare la differenza tra i due, dovevo aggiungere uno 0 al 15 oppure potevo lasciare tutto così com'era e fare la differenza??
devi fare esattamente quello che hai fatto per 15.
hai sbagliato sicuramente qualcosa nel calcolo, quindi ti invito a rifare il calcolo.
"Umby":
[quote="Lordofnazgul"]
uhm a essere sincero non ho capito... cioè io ovviamente avrei potuto ricavare il 18 semplicemente sommando tre volte 1 al 15, però volevo sapere se c'era un metodo universale per determinare la conversione da decimale a binario.. poi quando avrei dovuto fare la differenza tra i due, dovevo aggiungere uno 0 al 15 oppure potevo lasciare tutto così com'era e fare la differenza??
devi fare esattamente quello che hai fatto per 15.
hai sbagliato sicuramente qualcosa nel calcolo, quindi ti invito a rifare il calcolo.[/quote]
18 diviso 2 = 9 con resto 0, 9 diviso 2 = 4 con resto 1, 4 diviso 2 = 2 con resto 0, 2 diviso 2 = 0 con resto 0.
quindi apparentemente il numero binario sarebbe 0010
ma non è così perchè ci vuole un 1 davanti. dov'è che sbaglio??:P
oh dio ho scritto una cavolata pazzesca XD scusate ho risposto con poca attenzione. Quoto Umby non c'è nessuna differenza fra le due cose, non hai bisogno di sapere il numero di cifre a priori.
18/2-->0
9/2-->1
4/2-->0
2/2-->0
1/2-->1
poi leggo al contrario le cifre ed ho
10010
poi fai la verifica
1*2^4+1*2^1=16+2=18
18/2-->0
9/2-->1
4/2-->0
2/2-->0
1/2-->1
poi leggo al contrario le cifre ed ho
10010
poi fai la verifica
1*2^4+1*2^1=16+2=18
"dzcosimo":
oh dio ho scritto una cavolata pazzesca XD scusate ho risposto con poca attenzione. Quoto Umby non c'è nessuna differenza fra le due cose, non hai bisogno di sapere il numero di cifre a priori.
18/2-->0
9/2-->1
4/2-->0
2/2-->0
1/2-->1
poi leggo al contrario le cifre ed ho
10010
poi fai la verifica
1*2^4+1*2^1=16+2=18
ecco, è proprio l'ultimo punto che non mi è chiaro! perchè tu hai messo 2/2 = 0 e poi hai anche scritto 1/2 = 1??
non mi è chiaro quel punto...cioè, perchè quando hai già diviso per 2 e la divisione dava come risultato 0, poi hai scritto ancora 1/2??
grazie mille!
"Lordofnazgul":
18 diviso 2 = 9 con resto 0, 9 diviso 2 = 4 con resto 1, 4 diviso 2 = 2 con resto 0, 2 diviso 2 = 0 con resto 0.
quindi apparentemente il numero binario sarebbe 0010
ma non è così perchè ci vuole un 1 davanti. dov'è che sbaglio??:P
2 diviso 2 fa 1
(con resto di 0)
"Umby":
[quote="Lordofnazgul"]
18 diviso 2 = 9 con resto 0, 9 diviso 2 = 4 con resto 1, 4 diviso 2 = 2 con resto 0, 2 diviso 2 = 0 con resto 0.
quindi apparentemente il numero binario sarebbe 0010
ma non è così perchè ci vuole un 1 davanti. dov'è che sbaglio??:P
2 diviso 2 fa 1
(con resto di 0)[/quote]
hai ragione...che errore stupido che ho fatto, tutto per la fretta.. che vergogna direi

ma poi, per risolvere l'esercizio iniziale, una volta che trovo 18, faccio il complemento a 2, cioè: 01101 a cui sommo 1 che diventa: 01110
giusto?
poi faccio la differenza che mi viene 11101 che sarebbe appunto il -3 in decimale. è giusta come idea?? grazie mille, scusa ancora per il disturbo..
non fai la differenza se vogliamo essere precisi, fai la somma fra la rappresentazione di 15 e la rappresentazione di -18
la rappresentazione di 15 è 15 stesso, quella di -18 è quella che hai scritto, il risultato è la rappresentazione del risultato, una volta trovato devi passare dalla rappresentazione al valore e ti deve venire -11 ovvero -3 in decimale
la rappresentazione di 15 è 15 stesso, quella di -18 è quella che hai scritto, il risultato è la rappresentazione del risultato, una volta trovato devi passare dalla rappresentazione al valore e ti deve venire -11 ovvero -3 in decimale