Einzelnen Beitrag anzeigen

silver-moon-2000

Registriert seit: 18. Feb 2007
Ort: Schweinfurt
170 Beiträge
 
Delphi XE Professional
 
#1

[gelöst] Warum Integer-Overlow

  Alt 15. Apr 2008, 15:35
Hallo zusammen,

Meinem Verständnis nach weiße ich doch das Ergebnis der Berechnung einem Extended zu, da verstehe ich eben nicht, wo es zu einem Integer-Overflow kommen soll...

Delphi-Quellcode:
  fQualityFactor, tOvr, tAud : extended;
  fTSize, fWidth, fHeight, fFrameCount : integer;

...

  fQualityFactor := (1024 * fTSize - (tAud + tOvr)) /
                    (fWidth * fHeight * fFrameCount);
Eine Lösung habe ich natürlich, nur verstehe ich sie eben nicht wirklich...

Delphi-Quellcode:
  fQualityFactor, tOvr, tAud : extended;
  fTSize, fWidth, fHeight, fFrameCount : integer;
  extTSize, extWidth, extHeight, extFrameCount : extended;

...

  extTSize := fTSize;
  extHeight := fHeight;
  extWidth := fWidth;
  extFrameCount := fFrameCount;

  fQualityFactor := (1024 * extTSize - (tAud + tOvr)) /
                    (extWidth * extHeight * extFrameCount);
fTSize, fWidth usw. gleich als WExtended zu deklarieren, macht meiner Meinung keinen Sinn, da diese Werte immer nur Integer-Charakter haben, soll heißen: das Bild einer Video-Datei kann eben immer nur ganzzahig viele Pixel hoch sein etc.

Wäre schön, wenn mir jemand meinen Fehler aufzeigen könnte.
Tobias
Bitte nicht hauen , ich weiß es nicht besser
  Mit Zitat antworten Zitat