Delphi-PRAXiS
Seite 1 von 3  1 23      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Integerüberlauf bei Cardinalmultiplikation? (https://www.delphipraxis.net/53967-integerueberlauf-bei-cardinalmultiplikation.html)

Kedariodakon 26. Sep 2005 15:42


Integerüberlauf bei Cardinalmultiplikation?
 
Delphi-Quellcode:
Function   CmC:   Cardinal;
Var   c1:   Cardinal;
      c2:   Cardinal;
Begin
   c1         := 1000000000;
   c2         := 4;
   Result   := c1 * c2
End;
Weshalb gibt es bei der Funktion einen Integerüberlauf?
1.000.000.000 * 4 = 4.000.000.000
Wertebereich Cardinal: 0-4.294.967.295

Bye

Alex_ITA01 26. Sep 2005 15:45

Re: Integerüberlauf bei Cardinalmultiplikation?
 
Hallo erstmal,
bei mir geht folgender Source

Delphi-Quellcode:
Function  CmC:  Cardinal;
Var  c1:  Cardinal;
      c2:  Cardinal;
Begin
   c1         := 1000000000;
   c2         := 4;
   Result  := c1 * c2
End;

procedure TForm1.Button1Click(Sender: TObject);
begin
  ShowMessage('Ergebnis: ' + FloatToStrF(CmC,ffFixed,15,8));
end;
Liegt es an deinem System? Ich glaube Cardinal ist nicht immer gleich laut OnlineHilfe von Delphi?!

MFG Alex

edit: hab grad die OnlineHilfe gelesen und da steht: Diese Typen sollten immer verwendet werden... Sorry mein Fehler.Aber wie gesagt, bei mir gehts...

MFG Alex

Kedariodakon 26. Sep 2005 15:59

Re: Integerüberlauf bei Cardinalmultiplikation?
 
Delphi version?

Ich hab d7 + update
WinXP + SP2

Bye

Alex_ITA01 26. Sep 2005 16:01

Re: Integerüberlauf bei Cardinalmultiplikation?
 
diese Sachen habe ich auch alle beide (Delphi+XP).
Komisch...
Vielleicht weiß ja noch jemand, woran es liegen könnte.
Hast du das in einer komplexen Anwendung oder reicht es wie in meinem Beispiel mit einem Button und im OnClick passiert der Fehler?!

MFG Alex

sakura 26. Sep 2005 16:05

Re: Integerüberlauf bei Cardinalmultiplikation?
 
Zitat:

Zitat von Kedariodakon
Ich hab d7 + update
WinXP + SP2

Ich habe es jetzt mal ohne das Delphi Update in D7 getestet: no problems.

...:cat:...

Kedariodakon 26. Sep 2005 16:09

Re: Integerüberlauf bei Cardinalmultiplikation?
 
Zitat:

Zitat von Alex_ITA01
diese Sachen habe ich auch alle beide (Delphi+XP).
Komisch...
Vielleicht weiß ja noch jemand, woran es liegen könnte.
Hast du das in einer komplexen Anwendung oder reicht es wie in meinem Beispiel mit einem Button und im OnClick passiert der Fehler?!

MFG Alex

Mir ist es in einer komplexen Anwendung aufgefallen und habe es exportiert...

Und die oben gepostete Funktion knallt...
Ich kann es nicht nachvollziehen...


Bye

Sharky 26. Sep 2005 16:09

Re: Integerüberlauf bei Cardinalmultiplikation?
 
Unter D7 und D2k5 kein Problem. Unter D3 kommt es natürlich zu dem Überlauf.

Kedariodakon 26. Sep 2005 16:17

Re: Integerüberlauf bei Cardinalmultiplikation?
 
hat jemand eine idee warum ich das bekomm?
Kann mir das jemand kompilieren, dass ich mal eine von euch auf meinen Rechner testen kann?

Bye

Sharky 26. Sep 2005 16:22

Re: Integerüberlauf bei Cardinalmultiplikation?
 
Liste der Anhänge anzeigen (Anzahl: 1)
Der Code von Alex_ITA01 mit D7 prof compiliert:

Hador 26. Sep 2005 16:23

Re: Integerüberlauf bei Cardinalmultiplikation?
 
Liste der Anhänge anzeigen (Anzahl: 1)
bei mir funktioniert es auch. D7PE + WinXP


EDIT: Zu spät


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:00 Uhr.
Seite 1 von 3  1 23      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz