Einzelnen Beitrag anzeigen

marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#4

Re: Dezimal nach Dual umwandeln

  Alt 2. Aug 2006, 06:33
Guten Morgen.

Die Zahl der führenden Nullen kann man auch anders ermitteln. Und die Zahl der Speicheranforderungen durch schrittweises Vergrößern des Result-Strings lässt sich vermeiden:

Delphi-Quellcode:
function DualToStr(c: Cardinal): String;
const
  MAXLEN = 32;
var
  i: Integer;
begin
  SetLength(Result, MAXLEN);
  i := 0;
  repeat
    Inc(i);
    Result[MAXLEN - i] := Chr(Ord('0') + Ord(Odd(c)));
    c := c shr 1;
  until c = 0;
  Result := Copy(Result, MAXLEN - i, Succ(i));
end;
Grüße vom marabu
  Mit Zitat antworten Zitat