Ich hab eine BigInt, die liegt in Blöcken vor. Ich wollte die Zahl durch 2 teilen.
Bekomme aber immer "Fehler bei Bereichsprüfung". Kennt sich da jemand aus?
Delphi-Quellcode:
procedure TMemoForm.Button2Click(Sender: TObject);
var
Result: TIntegerDynArray;
Temp: UInt64;
I, Count: integer;
S: string;
begin
// 315901256781234 div 2 = ..
Count := 4;
SetLength(Result, 4);
Result[0] := 1234;
Result[1] := 5678;
Result[2] := 9012;
Result[3] := 315;
Temp := 0;
S := '';
// shr 1
for I := Count - 1 downto 0 do
begin
Temp := (UInt64(Result[I]) shl UInt64(31)) or (Temp shl UInt64(32)); // *** hier
Result[I] := Temp shr UInt64(32);
S := IntToStr(Result[I]) + S;
end;
MemoB.Lines.Add(S);
end;