PDA

View Full Version : Covnersioni di base...aiutooooo :-(


Ir0nM4id3n84
13-11-2004, 12:23
Devo assolutamente passare l'esame di architetture degli elaboratori 1 ma ho qualche problemino con le conversioni di base...mi date una mano per favore?

Supponiamo che io abbia il seguente numero in base 2:
100111101 e lo voglia trovare il corrispondente valore in base 4.

Per prima cosa posso portarlo in base 10 per poi usare il metodo delle divisioni successive (per portarlo così da base 10 a base 4)

1X2^8+0X2^7+0X2^6+1X2^5+1X2^4+1X2^3+1X2^2+0X2^1+1X2^0

Facendosi tutti i conti se non erro dovrebbe venire 317 in base 10

Ora applicco il metodo delle divisioni successive cioè divido il numero in base 10 per la base in cui lo voglio convertire ficbhè il quoziente non è 0; i resti di tali divisioni danno le cifre dalla meno alla più significativa del numero nella base che mi interessa.

Quindi: 317/4 = 79 col resto di 1
79/4 = 19 col resto di 3
19/4 = 4 col resto di 3
4/4 = 1 col resto di 0

Quindi il numero in base 4 dovrebbe essere 0331 (non ne sono sicuro però) Ho sbagliato qualcosa?

Altra domanda...

sulle dispense dice anche che per convertire il numero in base 2:
100111101 da base 2 a base 4 posso considerare i bit a coppie partendo dal meno significativo e tradurle in base 4...quindi avrei

1 00 11 11 01

Ma come cavolo faccio a convertire la coppia 01 da base 2 a base 4?!?!?!

Conoscete anche qualche programmino che faccia queste conversioni cossì posso ricontrollare gli esercizzi fatti a mano?

Grazie a tutti coloro che mi aiuteranno :)

Krammer
14-11-2004, 00:49
è una stupidaggine, non serve portare nulla in base 10, si trasforma direttamente da base 2 a base 4 (4=2^2) proprio come hai accennato nella seconda parte del messaggio ;)

base 2 ------> base 4
|00| ------------> 0
|01| ------------> 1
|10| ------------> 2
|11| ------------> 3


per cui trasformando 100111101 base2 diventa 1|00|11|11|01| ovvero 10331 base4

stessa identica cosa se devi trasformare in base 8 (8=2^3), base 16 (16=2^4), .... , base x (dove x=2^n), raggruppando il numero binario in gruppi di 3, 4, .... , n
ovviamente le conversioni in questi casi diventeranno, ad esempio per base8:

|000|--->0
|001|--->1
|010|--->2
|011|--->3
|100|--->4
|101|--->5
|110|--->6
|111|--->7

l'unico accorgimento da tenere in considerazione è quello di cominciare a raggruppare le porzioni del numero binario dalla cifra meno significativa, ovvero da destra verso sinistra :)

questo metodo vale per ogni cambio di base da 2 a 2^n con n un naturale a piacere maggiore di 1

spero di essere stato chiaro :)

Ir0nM4id3n84
14-11-2004, 12:26
Ok, grazie mille, mi hai svoltato la giornata di studio :D

Altra cosa....per quanto riguarda il rpimo metodo di vonversione ho fatto qualche errore?Credo di si...nel caso cosa ho sbagliato? :cry:

Ir0nM4id3n84
14-11-2004, 16:12
tuto risolto, ancora grazie :)

Krammer
14-11-2004, 17:28
;)
nel primo post avevi semplicemente dimenticato di dividere per 4 anche il quoziente 1 finale :)

ciao e prego!