Announcement

Collapse
No announcement yet.

Fehler bei float Berrechnung

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Fehler bei float Berrechnung

    Hallo

    kann mir jemand helfen

    warum kommt bei folgendem Code nicht das richtige Ergebnis raus ?

    float Temp1=0.039;
    Temp1=Temp1 * 1000.0;


    Ergebnis = -4.498E-38

    Das komische ist von einem zum anderem Compilieren funktioniert
    es nicht mehr d.h. das hat schon mal funktioniert !
    Ich benutze C++ Builder 5.0

    Irgendeine Idee ??

  • #2
    Poste mal den kompletten Code. Wie kommst du zu "Ergebnis"??

    Was passiert beim debuggen?
    Christian

    Comment


    • #3
      Hallo

      Ergebnis ist natürlich der Wert von Temp1.
      Eigentlich ist es so.

      float Temp1=0.0
      GetValue(&Temp1); //Rückgabewert ist float und hat den Wert 0.039
      Temp1=Temp1*1000.0;

      Nun hat Temp1 den wert -4.498E-38

      Komisch ist nur, wenn ich im Fenster "Auswerten/Ändern"
      die Rechnung eingebe (Temp1*1000.0) dann klappts.

      Comment


      • #4
        Programmier das mal zum Test direkt (wie oben):

        float Temp1=0.039;
        Temp1*= 1000.0;

        Stimmt das dann??

        ggf. macht deine Funktion GetValue etwas mit dem Speicher?? Übergabe per Adresse ist gewollt?? So das der Rückgabewert noch stimmt, aber beim Zugriff der Speicher futsch ist?

        Auch mal:

        float Temp1=0.0
        GetValue(&Temp1); //Rückgabewert ist float und hat den Wert 0.039
        float Temp2=Temp1;
        Temp2*= 1000.0;
        Christian

        Comment


        • #5
          OK
          Check ich mal !
          Nur komischerweise gehts grad wieder.
          Hab folgendes gemacht:
          Zuletzt eingefügtes Formular rausgeschmissen
          ( brauchte es eh nicht war nur ein Test)
          alle obj-Files alle ~ vom Projekt gelöscht.
          die tds und die vcl50 auch noch, dann neu compiliert
          und geht ??!!!

          Ich kapier es nicht, kann es sein wenn ein Projekt eine gewisse
          Größe erreicht.

          Comment


          • #6
            Eigentlich hat die Größe damit nix zu tun, sollte keinen Einfluß haben

            eigentlich......sollte.....
            Christian

            Comment


            • #7
              Hi,

              Math.h included?

              Dieter

              Comment


              • #8
                Math.h included?
                Wozu?? Für Datentypen nicht erforderlich
                Christian

                Comment

                Working...
                X