Nein, da ja die Zahl so lange bis sie Null ist Ziffer für Ziffer zur Zielbasis umgewandelt werden muß. Somit benötigt man immer eine Schleife. Natürlich gibt es eine Mathematische Formel, nur auch diese umschreibt einen iterativen Algorithmus.
Hier noch eine Lösung ohne Divisionen oder Shiftoperatoren:
Delphi-Quellcode:
function IntToBIN(const Value: Cardinal): String;
const
sDigits: array[Boolean] of Char = ('0', '1');
var
I: Integer;
Mask: Cardinal;
begin
SetLength(Result, 32);
Mask := 1;
for I := 32 downto 1 do
begin
Result[I] := sDigits[Value and Mask <> 0];
Inc(Mask, Mask);
end;
end;
Gruß hagen