Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > Lazarus, FreePascal, Kylix, etc.
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

 
 
Herramientas Buscar en Tema Desplegado
  #6  
Antiguo 10-09-2011
Avatar de mightydragonlor
[mightydragonlor] mightydragonlor is offline
Miembro Premium
 
Registrado: feb 2007
Ubicación: Medellín-Colombia
Posts: 587
Poder: 20
mightydragonlor Va por buen camino
Hola a todos, no había podido dar repuesta por tanto trabajo, pero les cuento:
un hexadecimal EBD0A0A2B9E5443387C068B6B72699C7 lo convierto a decimal 313451834834061278758346828331453159879 así

Código Delphi [-]
{Convierte un hexadecimal en un TBCD}
 Function HexToBCD(s : string) : TBcd;
 var
   bb : Byte;
   cc : Char;
 begin
  Result := 0;
  s := UpperCase(s);
  for bb := 1 to Length(s) do
  begin
   Result := Result * 16;
   cc := s[bb];
   case cc of
    '0'..'9': Result:= Result + ord(cc) - ord('0');
    'A'..'F': Result:= Result + ord(cc) - ord('A')+10;
   else raise EConvertError.Create('Se ha encontrado un caráctar no valido.');
   end;
  end;
 end;

y desde el hexadecimal lo paso a binario 1110101111010000101000001010001010111001111001010100010000110011100001111100000001101000101101101011 0111001001101001100111000111 así

Código Delphi [-]
 {Convierte un hexadecimal en un binario}
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;

desde el binario lo puedo pasar al hexadecimal así

Código Delphi [-]
{Convierte un binario a hexadecimal}
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;
El gran problema es que desde el décimal no he podido pasarlo a hexadecimal, alguna idea?
__________________
mas confundido que Garavito el día del Niño.
Responder Con Cita
 


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
Codigo Hexadecimal kdemia Varios 18 06-05-2014 12:56:48
Resta Hexadecimal ??? Ðαяισš Varios 6 15-09-2010 11:34:17
Numero hexadecimal de 32 caracteres adebonis Varios 2 15-11-2007 15:11:14
Como convierto un número binario a hexadecimal abdel Varios 3 30-05-2004 17:21:46
de Hexadecimal a Decimal Carlos A Ortega Varios 1 04-08-2003 22:14:56


La franja horaria es GMT +2. Ahora son las 22:01:16.


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