English Deutsch Français Italiano Español Português 繁體中文 Bahasa Indonesia Tiếng Việt ภาษาไทย
Tutte le categorie

Come si converte un da binario a decimale e viceversa inmodo istantaneo?

2007-02-26 23:10:19 · 7 risposte · inviata da Tex 1 in Matematica e scienze Matematica

7 risposte

in modo istantaneo con una semplice calcolatrice scientifica; altimenti ti fai due conticini carta e penna (non é difficilissimo)

2007-02-26 23:17:34 · answer #1 · answered by salpiz 3 · 0 0

Dipende dalla grandezza e dal tipo dei numeri.
Mi spiego meglio: per piccoli numeri interi la capacità di convertire da decimale a binario in modo immediato la acquisisci con la pratica; in particolare è molto utile ricordarsi i gruppetti di quattro bit e il loro corrispondente decimale/esadecimale, proprio perché i byte si possono indicare con due cifre esadecimali. Ad esempio 1001(2) = 9(10) = 9(16) oppure 1100(2) = 12(10) = C(16). Ovviamente alla base c'è sempre il principio per cui considerando la prima cifra a destra di ordine 0 e andando via via crescendo verso sinistra, un numero binario può essere "immediatamente" convertito al corrispondente decimale sommando le potenze di due elevato all'ordine di tutti i bit posti a 1. Esempio: 0110 = 2^1 + 2^2 = 6.
Per i numeri decimali (con la virgola) non conosco un metodo pratico, ma in informatica il loro utilizzo è talmente limitato che non è di alcuna utilità saperli convertire prontamente.
P.S.: Poi per fortuna c'è sempre la calcolatrice!

2007-02-27 07:27:28 · answer #2 · answered by Chuang Tzu 4 · 1 0

da binario a decimale devi sommare gli uno presenti come valori di 2 elevato alla posizione dove sono -1

esempio
11011 è 2^4+2^3+2^1+2^0 = 16+8+2+1 (2^0 è 1) = 27

per trasformare un decimale in binario devi dividere il valore decimale per 2 e tenere ogni resto fino alla dividendo 0
esempio
27
27:2 = 13,5 = tieni l'intero e metti 1 quando ti avanza 0,5
13:2 = 6,5 = tengo 1
6 :2 = 3 = tengo 0
3:2 = 1,5= tengo 1
1:2 = 0,5= tengo 1
0 mi fermo
fatalità
se metti in ordine i resti
avrai 11011
ciuao

2007-02-27 07:20:03 · answer #3 · answered by zuohome 5 · 1 0

è più semplice di quel che puoi imaginare...

consideriamo un numero e dividiamo sempre per due prendendo in considerazione il risultato senza virgola. se il risultato è dispari diamo valore 1, se è pari valore 0
37 valore 1
37 diviso due 18,5 consideriamo 18 valore 0
18 diviso due 9 valore 1
9 diviso due 4,5 consideriamo 4 valore 0
4 diviso due 2 valore 0
2 diviso due 1 valore 1

lo riscrivo senza parole:

37 1
18 0
9 1
4 0
2 0
1 1
il risultato finale è dato dal numero letto dal basso verso l'alto. in questo caso:
100101
per fare la verifica e quindi per passare da binario a decimale devi moltiplicare il valore di ogni numero, da destra verso sinistra, per 2 (il numero dei valori ottenibili col codice binario) elevato ad n
1*2^5 + 0*2^4 + 0*2^3 + 1*2^2 + 0*2^1 + 1*2^0
quindi:
32 + 0 + 0 + 4 + 0 + 1 = 37
ricordati sempre che qualsiasi numero elevato a zero da come risultato 1

2007-02-27 16:29:10 · answer #4 · answered by Anonymous · 0 0

Allora semplicemente per convertire un numero intero da binaro a decimale devi fare cosi:
Per esempio:
11100(2)=
0*2^0+0*2^1+1*2^2+1*2^3+1*2^4
=28
cioè moltiplichi la cifra per 2 alla "la posizione della cifra da destra, partendo da zero"

Mentre viceversa fai (esempio):
n=24
24/2=12 resto 0
12/2=6 resto 0
6/2=3 resto 0
3/2=1 resto 1
1/2=0 resto 1
e poi leggi i resti ottenuti DAL BASSO VERSO L'ALTO e così ottieni:
24=11000(2)

Mentre, per convertire un numero decimale in binario la cosa è un po' + complessa:

Se vuoi convertire per esempio il numero 1.001(2) in decimale ti basta solo applicare l'esponenziale base 2 anche a potenze negative.
cioè:
1.001(2)=1*2^(-3)+0*2^(-2)+0*2^(-1)+1*2^0
=1.125
e quindi 1.001(2)=1.125(10)

Se invece ti interessa per esempio convertire il numero 1.1(10) in binario, la procedura è la seguente:
con la formula x'=2(x-b) (b: intero più vicino a x, x': nuovo numero da sostituire nella formula al posto di x) è possibile calcolare quanto vale 1,1 in forma binaria:
1.1 --> 1
2(1.1-1)=0.2 -->0
2(0.2-0)=0.4 -->0
2(0.4-0)=0.8 -->0
2(0.8-0)=1.6 -->1
2(1.6-1)=1.2 -->1
2(1.2-1)=0.4 -->0
2(0.4-0)=0.8 -->0
...
Perciò: 1.1(10)= 1.0001100110011...(2)
Si nota che quindi non tutti i numeri decimali finiti in base 10 corrispondano a decimali finiti in base 2.

Se ti interessa un po' di teoria ti do il link di informatica in cui si parla di conversione decimale-binario(attenzione è in inglese):
http://www.ti.inf.ethz.ch/ew/courses/Info1_06/skript_Nov_28.pdf
Vai a pag.103, spiega molto bene.

2007-02-27 08:05:40 · answer #5 · answered by Pat87 4 · 0 0

Istantaneo? Con la calcolatrice !

2007-02-27 07:44:18 · answer #6 · answered by buffal_macco 4 · 0 0

Ho notato che, per passare da binario a decimale, è molto facile usando un passaggio intermedio all'esadecimale! (A patto di conoscere bene l'esadecimale)

Ad esempio sapendo che ogni lettera di un codice esadecimale equivale a 4 bit consecutivi è abbastanza facile trasformare 1111 0010 in F2 (hex) a questo punto conoscendo a memoria i valori delle lettere (F=15) mi basta fare 15*16+2 :) oppure 255-13 (dove 13 = F-2).

Un altro esempio:
1000 1010 = 8 A = 128 + 10 = 138 (128=80 hex)

2007-02-27 07:32:49 · answer #7 · answered by ZA - www.byza.it 3 · 0 0

fedest.com, questions and answers