Ver Mensaje Individual
  #8  
Antiguo 11-09-2011
LoPiTaL LoPiTaL is offline
Miembro
 
Registrado: abr 2009
Posts: 168
Reputación: 18
LoPiTaL Va por buen camino
Cita:
Empezado por ecfisa Ver Mensaje
Hola.

Para convertir una magnitud decimal a hexadecimal no conozco otro que el conocido método de obtener los restos de las sucesivas divisiones por 16.

Usando arítmetica BCD podrías manejar números tales como 313451834834061278758346828331453159879, ya que no estás limitado al número de dígitos.


Un saludo
Hola, el principal problema de las divisiones por 16 es que te limitará (en enteros) a 32 bits (o 64 si usas int64).
Y el problema de la aritmética BCD, es que el nº que te salga en binario NO es su equivalente decimal, sino, tal como dice el nombre, una representación binaria de éste. Es decir, si realizas la conversión sum(2^(pos-1)) de todos los bits, no te saldría el nº decimal.

Yo no veo solución para convertir números de más de 64 bits a decimal sin recurrir a truquitos como el BCD o así. Si alguien tiene solución, estaría encantado de conocerla.

Un saludo,
LoPiTaL
Responder Con Cita