Beh, il modo per ottenere da un numero decimale un numero binario è dividere questo numero per 2 fino ad ottenere 0 e utilizzare i resti per comporre il numero binario partendo da destra e andando verso sinistra.
Per esempio
5:2=2 r=1 => 1
2:2=1 r=0 => 01
1:2=0 r=1 => 101
oppure
6:2=3 r=0 => 0
3:2=1 r=1 => 10
1:2=0 r=1 => 110
E così via. Ciao!!
2006-12-12 02:28:54
·
answer #1
·
answered by Andrea 4
·
2⤊
0⤋
Ti hanno risposto tutti correttamente, potrei anche evitare..
Vorrei pero' portarla più sul generale, per una maggiore
comprensione... o forse per aumentare il casino ;-)
Qualsiasi notazione numerica posizionale si basa su questa regola generale (clicca sui link)
http://img179.imageshack.us/img179/1897/snap1in1.jpg
(ho semplificato un pochino per non spaventare..lo vediamo meglio più avanti..)
Questo vuol dire che, anche se non ce ne rendiamo conto, anche quando usiamo una numerazione a base 10, mettiamo in pratica questa formula.
Ne consegue che la numerazione in base 10 sarebbe:
http://img158.imageshack.us/img158/7641/snap2qw6.jpg
Premesso che qualsiasi numero, elevato a potenza 0, da come risultato 1 e che qualsiasi numero, elevato a potenza 1, da come risultato se stesso, ecco che il numero che scriviamo nella prima posizione partendo da destra sarebbe:
numero * (10 elevato alla potenza 0) ovvero numero * 1
la seconda posizione sarebbe
numero * (10 elevato alla potenza 1) ovvero numero * 10
la terza sarebbe
numero * (10 elevato alla potenza 2) ovvero numero * 100
Facciamo un esempio con i numeri... 246=
6 * 10 alla 0 = 6 * 1 = 6 PIU'
4 * 10 alla 1= 4 * 10 = 40 PIU'
2 * 10 alla 2= 2 * 100=200
TOTALE 246 :-)
ovvio ?
Questo criterio vale sempre, qualunque sia la base, abbiamo detto.
Se la base=2 (numerazione binaria)
http://img175.imageshack.us/img175/8789/snap3cg3.jpg
Ovviamente il valore di n dovrà essere compreso fra zero e la base meno uno
In pratica, un numero binario qualsiasi lo traduci in decimale facendo (metto le prime cinque cifre solo, per l'esempio):
n * 16 + n * 8 + n * 4 + n * 2 + n * 1
e quindi, il binario 10101 equivale a
1 * 16 + 0 * 8 + 1 * 4 + 0 * 2 + 1 * 1 = 21 decimale
Questo, ripeto, puoi farlo con qualsiasi base.
Ed ora un aneddoto.
In un divertente racconto, Isaac Asimov notava che il numero 25 in base 10 equivale al numero 31 in base otto...
La qual cosa si scrive:
25 dec = 31 oct
La cosa carina è che il 25 dicembre (december in inglese) è Natale, ed in America è festa esattamente come il 31 ottobre (october), Ognissanti :-)
2006-12-12 04:20:31
·
answer #2
·
answered by Maurizio / new 6
·
0⤊
0⤋
Intanto ti aiuta la calcolatrice di Windows. Mettila in modalità scientifica, digita un numero e poi in alto a sinistra, sotto la barra bianca, scegli la base con cui vuoi rappresentare il numero: esadecimale, decimale (default), ottale, binario.
Ci si può aiutare anche con excel usando la funzione di conversione (es.: "=decimale.binario...") che però restituisce un numero abbastanza limitato di cifre.
Purtroppo qui non è possibile scrivere la formula di conversione perchè non si possono scrivere le elevazioni a potenza e gli indici ma a questo link trovi le formule scritte per bene: http://it.wikipedia.org/wiki/Sistema_numerico_binario
Provo a descrivere una tecnica per la conversione manuale da decimale a binario:
Le linee separano le colonne
I numeri della prima colonna vanno divisi per due. Nella seconda colonna va scritto il resto della divisione per 2. Nella terza colonna c'è la descrizione dell'operazione effettuata. Il risultato della divisione va scritto sotto al precedente numero nella prima colonna
Numero da convertire: 45673
Numero___Resto_______Descrizione.
45673______1________diviso 2 fa 22836 col resto di 1
22836______0________diviso 2 fa 11418 col resto di 0
11418______0________diviso 2 fa 5709 col resto di 0
5709_______1________diviso 2 fa 2854 col resto di 1
2854_______0________diviso 2 fa 1427 col resto di 0
1427_______1________diviso 2 fa 713 col resto di 0
713________1________diviso 2 fa 356 col resto di 1
356________0________diviso 2 fa 178 col resto di 0
178________0________diviso 2 fa 89 col resto di 0
89_________1________diviso 2 fa 44 col resto di 1
44_________0________diviso 2 fa 22 col resto di 0
22_________0________diviso 2 fa 11 col resto di 0
11_________1________diviso 2 fa 5 col resto di 1
5__________1________diviso 2 fa 2 col resto di 1
2__________0________diviso 2 fa 1 col resto di 0
1__________1________diviso 2 fa 0 col resto di 1
finisce il calcolo quando nella prima colonna rimane 1
metti in sequenza i resti a cominciare dall'ultimo e avrai 1011001001101001 che è 45673 in binario.
Spero che il calcolo sia comprensibile
2006-12-12 04:04:25
·
answer #3
·
answered by giovanni p 7
·
0⤊
0⤋
ti posto del codice Basic per la conversione di un Decimale in Binario.
Spero possa servirti
sResult = Space(8)
For i = 0 To 7
If DecVal And (2 ^ i) Then
Mid$(sResult, 8 - i, 1) = "1"
Else
Mid$(sResult, 8 - i, 1) = "0"
End If
Next
2006-12-12 02:35:10
·
answer #4
·
answered by The Dobermann 2
·
0⤊
0⤋
i numeri binari assumono solo 2 valori, lo 0 e l'1...
quando scrivo, x esempio, 0010, ogni numero ha un 'peso',ossia bisogna scomporre tutto il numero in singoli bit:
0 0 1 0
poi, ricordando ke, partendo da sinistra, ad ogni posto corrisponde una potenza di 2,ossia:
0 ( 2 alla 0 )
1 ( 2 alla 1 )
0 ( 2 alla 2 )
0 ( 2 alla 3 ), e cosi via
si calcola il valore delle singole potenze, moltiplicate per il valore del corrispondente bit, e si somma il tutto:
2 alla 3 = 8 => 8*0=0 +
2 alla 2 = 4 => 4*0=0 +
2 alla 1 = 2 => 2*1=2 +
2 alla 0 = 1 => 1*0=0 =
risultato = 2 infatti, 0010 in binari equivale proprio a 2 in decimale...
lo sò, è un pò complesso..ma funziona cosi...
spero di averti aiutato..saluti..
ops scusa..ti ho scritto il sistema da binario a decimale...scusami..
da decimale a binario va bn anke quello della divisione x 2, oppure se hai un numero , tipo 15, te lo calcoli con i pesi:
2 alla 4? = 16, nn va bene, quindi il bit corrispondente a 2alla4 sarà 0..
2 alla 3? = 8, si va bene e si mette un 1
2 alla 2? = 4,va bene lo stesso e si mette un 1
( ricordati ke staimo a 12 (8+4) e ne mancano 3 )
2 alla 1? =2 va bene, si mette un 1
(ora stiamo a 14)
2 alla 0?= 1 va bene, si mette un 1
ed ora stiamo a 15, quindi in binario 15 è = a 01111, o semplicemente 1111
2006-12-12 02:31:39
·
answer #5
·
answered by Anonymous
·
0⤊
0⤋
1 = 1
2 = 10
3 = 11
4 = 100
5 = 101
e così via
il binario a base 0 e 1
2006-12-12 02:25:59
·
answer #6
·
answered by rpsoft57 6
·
0⤊
0⤋