Foro de elhacker.net

Foros Generales => Dudas Generales => Mensaje iniciado por: m@o_614 en 8 Abril 2014, 02:43 am



Título: conversiones
Publicado por: m@o_614 en 8 Abril 2014, 02:43 am
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


Título: Re: conversiones
Publicado por: engel lex en 8 Abril 2014, 04:59 am
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


Título: Re: conversiones
Publicado por: Gh057 en 8 Abril 2014, 05:30 am
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


Título: Re: conversiones
Publicado por: engel lex en 8 Abril 2014, 05:43 am
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
  1. while(numero>0){
  2.   //octal
  3.   numero-=8;
  4.   if(numero>0){
  5.      decena_octal++;
  6.   }else{
  7.      unidad_octal = numero+8
  8.      numero=0;
  9.   }
  10.  
  11. }

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...


Título: Re: conversiones
Publicado por: Gh057 en 8 Abril 2014, 05:50 am
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


Título: Re: conversiones
Publicado por: engel lex en 8 Abril 2014, 05:55 am
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