conversiones

Iniciado por m@o_614, 8 Abril 2014, 02:43 AM

0 Miembros y 2 Visitantes están viendo este tema.

m@o_614

Saludos

Alguien conoce de algun metodo que no sea el de divisiones sucesivas el cual convierta un numero decimal a cualquiera de las otras 3 potencias,(binaria,octal,hexadecimal)????

gracias

engel lex

hay lenguajes con el método implementado... por si te sirve...

el método por multiplicación es básicamente el único camino, ya que estás haciendo un método escalar para el intercambio de bases, es como decir "como paso de millas a km sin multiplicar?"

1      10     11     100    101    110    111    1000   1001   1010   1011   1100
1       2       3         4       5        6       7        10       11      12       13      14
1       2       3         4       5        6       7          8        9      10       11      12
1       2       3         4       5        6       7          8        9       A         B       C

la misma cantidad en escalas diferentes... si alguien puede proponerlo sin multiplicaciones, estoy interesado en la respuesta :P
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.

Gh057

#2
bueno a mi me gusta por ejemplo para decimales a binario en vez de divisiones (soy bastante lento para ellas jejej) usar sumas... me armo un ayuda memoria con las potencias de dos y voy abajo "prendiendo" o no los bits dependiendo el número.
por ejemplo para el 332..

256 128 64 32   16   8    4    2    1
1    0    1    0    0    1    1     0    0  

para mi es más intuitivo y más fácil luego desde el binario pasar a hexa con su respectiva equivalencia

0000 0
0001 1
0010 2
0011 3
0100 4
0101 5
0110 6
0111 7
1000 8
1001 9
1010 A
1011 B
1100 C
1101 D
1110 E
1111 F        

bueno no se si es más rapido, pero que entretiene, entretiene jejej y me ha servido en algún que otro examen... saludos!

(agrego) no hay forma que se centre jajaj igual creo que se entiende... asi uno abajo de otro voy poniendo los números para trabajar con binarios... si necesito pasarlo a hexa tomo de a cuatro bits y reemplazo. y sin dividir, odio dividir jaja XD
4 d0nd3 1r4 3l gh057? l4 r3d 3s 74n v4s74 3 1nf1n1t4...

engel lex

pero a nivel de programación es complicado, ya que tendrías que hacer un array con todas las potencias D: o hacer un array y que cree todas las potencias con un programa de un valor tope limitado...

la otra opción que se me ocurre es hacer un programa que haga restas bestiales por gusto XD

Código (cpp) [Seleccionar]
while(numero>0){
   //octal
   numero-=8;
   if(numero>0){
      decena_octal++;
   }else{
      unidad_octal = numero+8
      numero=0;
   }

}


y ese while repite para la decena octal, centena, milenio... etc ad infinitum... y creo que ya se comprende el problema XD y seria literalmente el sistema de multiplicación pero desglosado...
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.

Gh057

jajajaja si es cierto! igualmente supongo que la pregunta era para ejercicios "a mano alzada" si es en la máquina... pues que transpire ella jejej un algoritmo que pase a binario teniendo en cuenta el módulo por ejemplo...

y si, termina haciendo sumas bestiales al fin y al cabo  ;D
4 d0nd3 1r4 3l gh057? l4 r3d 3s 74n v4s74 3 1nf1n1t4...

engel lex

cierto! XD pensé que era el foro de programación general! XD leí mal!


puedes aplicar la de  Gh057... y para hex y oct es facil desde binario :P para octal agarras de 3 en 3 bits de binario, para hex agarras de 4 en 4
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.