Forum: Programmieren allgemein
by Hawkeye219,
30. Dez 2008
Bei arithmetischen Operationen wird laut Dokumentation immer der größte Datentyp aller beteiligten Operanden verwendet, "kleine" Typen (Byte, Word,...) werden dabei zunächst auf Integer erweitert. Dies erklärt, warum in deinem letzten Beispiel die Operationen fehlerfrei durchgeführt werden können.
Gruß Hawkeye
Forum: Programmieren allgemein
by Hawkeye219,
30. Dez 2008
Hallo,
den "Fehler" kannst du auch umgehen, indem du den Compiler zwingst, Code für eine Berechnung auf Int64-Basis zu erzeugen:
var
nPotenz : Integer;
begin
:
if nSize > (Int64(nPotenz) * nPotenz * nPotenz * nPotenz) then