Convert Integer -> Binary  

Send By: Radikal (Q3 Team)
Web : http://www.q3.nu
Email: radikal@q3.nu
Date: 02/05/00

Tip accessed 589 times

 


Recursively:


 function IntToBinRec(valor,digitos:integer):string;
 begin
  if digitos=0 then
   result:=''
  else
  begin
   if (valor AND (1 shl (digitos-1)))>0 then
    result:='1'+IntToBinRec(valor,digitos-1)
   else
    result:='0'+IntToBinRec(valor,digitos-1)
  end;
 end;



Call example:


  	Label1.Caption:=IntToBinRec(207,8);




Another manner, more efficient:


 function IntToBin(valor,digitos:integer):string;
 var
  resultado:string;
  i:integer;
 begin
  if digitos>32 then
   digitos:=32;
  Resultado:='';
  i:=0;
  while i< digitos do
  begin
   if ((1 shl i) AND valor)>0 then
    Resultado:='1'+resultado
   else
    Resultado:='0'+resultado;
   inc(i);
  end;
  Result:=resultado;
 end;



Call example:


  	Label1.Caption:=IntToBin(207,8);




Smallest:


 function IntToBin(Value: LongInt;Size: Integer): String;
 var
   i: Integer;
 begin
   Result:='';
   for i:=Size-1 downto 0 do
     Result:=Result+Chr(48+Integer((Value and (1 shl i))<>0));
 end;





Other send by: Dario Alvarez Aranda (dalvarez@udesoft.com)


 function IntToBinStr(num: integer): string;
 var
   i: integer;
 begin
   for i := 0 to 31 do    Result := IntToStr((num shr i) and 1)+Result;
 end;




Updated at 02/05/2000 (Dario's method)