Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 26-05-2012
gabtroc gabtroc is offline
Miembro
NULL
 
Registrado: may 2012
Posts: 10
Poder: 0
gabtroc Va por buen camino
Decimal/Binario/Hexadecimal

Buenos dias amigos del club delphi necesito hacer un programa en aplicacion tipo consola que me lea un numero en cualquiera de las tres bases (decimal/binario/hexadecimal) y me las convierta en sus equivalentes de las otras dos bases.

Nada mas he empezado con el codigo de decimal a binario pero tengo problemas convirtiendo de decimal a hexadecimal si alguien me pudiera ayudar con eso seria excelente y con las otras conversiones empezando de base hexadecimal o con base binaria.

Código Delphi [-]
cbin:=0;
repeat
dig:=aux mod 2;
cbin:=dig+cbin*10;
aux:=aux div 2;
until aux=0;
cv:=0;
Repeat
  v:=cbin mod 10;
  cv:=v+cv*10;
cbin:=cbin div 10;
Until cbin=0;
Writeln(cv);    // Este es el numero en binario

aux:=pr;
chex:=0;
repeat
dig:=aux mod 16;
chex:=dig+chex*10;
aux:=aux div 16;
until aux=0;
Writeln(chex);
cv:=0;
Repeat
  v:=chex mod 10;
  cv:=v+10*cv;
  chex:=chex div 10;
Until chex=0;
Writeln(cv);

cv seria el numero al cual tendria que convertir en hexadecimal haciendo una comporacion de sus digitos y pasandolo a sus equivalentes hexadecimales pero no se como escribir esa comparacion porque por ejemplo el numero 123 en decimal seria 7B, si meto ese numero en el programa cv seria igual a 711 lo cual en equivalente a hexadecimal me daria mi 7B pero como hago para que me identifique cuando convierto el 11 a una B en vez de dos 1?

Si no se entiende la explicacion escriban por favor que es urgente tengo hasta hoy en la noche para mandar ese programa.
Responder Con Cita
  #2  
Antiguo 26-05-2012
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.022
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Al final de esta página, abajo del todo, tienes algunos enlaces que pueden servirte, échales un vistazo y comentas si necesitas algo más.
Responder Con Cita
  #3  
Antiguo 26-05-2012
gabtroc gabtroc is offline
Miembro
NULL
 
Registrado: may 2012
Posts: 10
Poder: 0
gabtroc Va por buen camino
Ya los revise y todos son aplicaciones tipo vcl y no he visto nada de eso todavia ne mi curso y me enredo con esos codigos.

Otra cosa yo puedo convertir un extended a un integer? y si se puede como lo hago estoy atorado con eso
Responder Con Cita
  #4  
Antiguo 26-05-2012
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.022
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Ya veo que no has mirado los enlaces que te he indicado, en uno de ellos está en pascal, además con enlaces a otros hilos donde se trató el tema de binario a hexadecimal y viceversa, etc.
Responder Con Cita
  #5  
Antiguo 30-05-2012
ajvdelphi ajvdelphi is offline
Registrado
NULL
 
Registrado: may 2012
Posts: 7
Poder: 0
ajvdelphi Va por buen camino
Hola
Yo uso esta funcion:
De Hexa a Binario:
Código Delphi [-]
function HextoBin(Hexadecimal:string):string;
const
     BCD: array [0..15] of string=
       ('0000','0001','0010','0011','0100','0101','0110','0111',
        '1000','1001','1010','1011','1100','1101','1110','1111');
var
   i:integer;
begin
   for i:=Length(Hexadecimal) downto 1 do
     Result:=BCD[StrToInt('$'+Hexadecimal[i])]+Result;
end;

ejemplo de llamada:

Código Delphi [-]
Label1.Caption:=HextoBin('FA');


De binario a hexa

Código Delphi [-]
function BinToHex(Binario:string):string;
const 
     BCD: array [0..15] of string=
       ('0000','0001','0010','0011','0100','0101','0110','0111',
        '1000','1001','1010','1011','1100','1101','1110','1111');
     HEX: array [0..15] of char=
       ('0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F');
var 
   i,n:integer;
   sTemp:string;
   sNibble:string;
begin 
   Result:='';
   sTemp:=Binario+Copy('000',1,Length(Binario) mod 4);
   for i:=0 to (Length(Binario) shr 2)-1 do 
   begin 
    sNibble:=Copy(sTemp,(i shl 2)+1,4);
    n:=8;
    while (sNibble <> BCD[n]) do 
      if sNibble < BCD[n] then Dec(n) else Inc(n);
    Result:=Result+HEX[n];
   end; 
end;

Llamada


Código Delphi [-]
Label1.Caption:=BintoHex('100011100100101011');

Saludos
Augusto

Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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

Temas Similares
Tema Autor Foro Respuestas Último mensaje
programa para pasar binario a decimal y a hexadecimal RedVenom Varios 7 09-09-2011 16:37:59
ver archivo en binario o en hexadecimal kenychy Varios 8 22-11-2010 12:21:56
free pascal binario a hexadecimal bothy Lazarus, FreePascal, Kylix, etc. 3 21-01-2010 20:33:44
Convertir Binario a Hexadecimal. JoseFco ASM y Microcontroladores 21 30-10-2008 23:43:31
!! Coversion Binario a Decimal y de Decimal codigo ascii BuRtOn Varios 4 14-03-2008 05:13:11


La franja horaria es GMT +2. Ahora son las 11:52:25.


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