Thema: Delphi Überlauf bei int64

Einzelnen Beitrag anzeigen

Hobbycoder

Registriert seit: 22. Feb 2017
1.002 Beiträge
 
#8

AW: Überlauf bei int64

  Alt 25. Feb 2025, 08:54
Der Ausdruck wird zuerst als Integer ausgewertet und erst dann zugewiesen. Du musst mindestens einen der Summanden als Int64 typecasten (oder gleich also solchen deklarieren), dann wird es funktionieren:

Delphi-Quellcode:
  Result:=Int64(i1) * 16777246 +
          i2 * 65536 +
          i3 * 256 +
          i4;
Dank dir. So geht's.

16777216 ist natürlich korrekt.
Gruß Hobbycoder
Alle sagten: "Das geht nicht.". Dann kam einer, der wusste das nicht, und hat's einfach gemacht.
  Mit Zitat antworten Zitat