Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 12-04-2005
Avatar de davitcito
davitcito davitcito is offline
Miembro
 
Registrado: mar 2005
Posts: 28
Poder: 0
davitcito Va por buen camino
Ayuda - Recursividad

Buenas, me gustaría ver si me podrian ayudar o dar algun consejo de como podría escribir un algoritmo recursivo para cambiar a un numero decimal a una número binario (se q se pasa dividiendo sucesivamente entre 2, pero no tengo muy en claro como hacerlo recursivamente).

Gracias.
Responder Con Cita
  #2  
Antiguo 12-04-2005
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
¿Qué tal algo así?

Código Delphi [-]
function DecToBin(D: Integer): String;
begin
  if D > 0
    then Result := DecToBin(D div 2) + IntToStr(D mod 2)
    else Result := '';
end;

// Saludos
Responder Con Cita
  #3  
Antiguo 12-04-2005
Avatar de davitcito
davitcito davitcito is offline
Miembro
 
Registrado: mar 2005
Posts: 28
Poder: 0
davitcito Va por buen camino
hola, gracias por el dato, pero lo q no me queda muy en claro es cual vendria a ser el caso base??

Última edición por davitcito fecha: 12-04-2005 a las 21:03:15.
Responder Con Cita
  #4  
Antiguo 12-04-2005
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Cita:
Empezado por davitcito
viene a ser el caso base?
Así es.

// Saludos
Responder Con Cita
  #5  
Antiguo 12-04-2005
Avatar de davitcito
davitcito davitcito is offline
Miembro
 
Registrado: mar 2005
Posts: 28
Poder: 0
davitcito Va por buen camino
Gracias Roman, hice la corrida de escritorio y todo bien, sale perfecto. Saludos. . Otra, cosilla, será posible con una funcion similar pasar de decimal a hexadecimal?? Voy a intentar
__________________
Tengo que pasar .... y lo voy a lograr.

Última edición por davitcito fecha: 12-04-2005 a las 21:54:52.
Responder Con Cita
  #6  
Antiguo 12-04-2005
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Si te contesto para hexadecimal me vas a preguntar para octal así que mejor te propongo esta:

Código Delphi [-]
function DecToBaseN(D, N: Integer): String;
const
  Digits = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ';

begin
  if D > 0
    then Result := DecToBaseN(D div N, N) + Digits[(D mod N) + 1]
    else Result := '';
end;

que convierte de decimal a cualquier base (al menos hasta base 36)

// Saludos
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 20:45:00.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi