Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu
Online

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.326 Beiträge
 
Delphi 12 Athens
 
#13

Re: TBigUInt - Noch ein Datentyp für große Zahlen

  Alt 27. Mai 2009, 12:34
würde es ein bissl beschleunigen, wenn nicht für jede Stelle mit der großen Zahl gerechnet würde
(praktisch die Umkehrung des IntToStr)
Delphi-Quellcode:
Result := 0;
i2 := 0;
i3 := 1;
for i := 1 to Length(n) do
begin
  if not (n[i] in ['0'..'9']) then
    raise EConvertError.CreateResFmt(@SInvalidInteger, [S]);
  i2 := i2 * 10 + (Ord(n[i]) - Ord('0'));
  i3 := i3 * 10;
  
  if (i3 = 1000000000) or (i = Length(n)) then
  begin
    Result := Result * i3 + i2;
    i2 := 0;
    i3 := 1;
  end;
end;
[edit] i2 durch i3 ersetzt (siehe gammatester)
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat