Mono potenziert falsch?

  • C#
  • .NET (FX) 4.0

Es gibt 9 Antworten in diesem Thema. Der letzte Beitrag () ist von Manawyrm.

    Mono potenziert falsch?

    Hallo,

    entweder habe ich hier irgendwo einen Fehler den ich nicht finde oder Mono potenziert nicht korrekt...

    C#-Quellcode

    1. using System;
    2. namespace Calculator
    3. {
    4. class MainClass
    5. {
    6. public static void Main (string[] args)
    7. {
    8. double d_first = 9;
    9. double d_last = 3;
    10. System.Diagnostics.Debugger.Break();
    11. double Ergebnis;
    12. Ergebnis = Math.Pow (d_first, d_last);
    13. // Ergebnis = 4,5 ?!
    14. Console.WriteLine (Ergebnis);
    15. // Ausgabe
    16. }
    17. }
    18. }


    Das ist der komplette Code meines Programms.

    Wenn ich die Funktion "Math.Pow()" richtig verstanden habe, rechnet die Potenzen aus, sollte also 9^3 = 729 ausgeben.

    Ich habe mir extra einen Break Point gesetzt und laufe mit F11 (Einzelschritt) durch - die zwei Variablen d_first und d_last haben den korrekten Wert 9 bzw. 3, aber in Ergebnis landet nachher "4,5".
    Was habe ich falsch gemacht? Irgendeine Einstellung in MonoDevelop verhunzt?

    leseratte

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Leseratte“ ()

    Auch mit dem Breakpoint und mit durchgehen der einzelnen Codezeilen?

    Habe den Breakpoint grade mal rausgenommen und jetzt kommt auch das richtige Ergebnis. Mit Breakpoint wieder nur Müll...

    EDIT: Mittlerweile kommt mit Breakpoint "5,25" raus.
    Nimmt der irgendwo den falschen Wert im Arbeitsspeicher oder was ist da los?

    EDIT 2: Jetzt 3,75. Der scheint echt irgendeinen Wert zu nehmen - aber wieso?
    @SAR-71: Manchmal braucht man aber Breakpunkte zum Debuggen und wenn dann falsche Ergebnisse auftauchen...
    Ich benutze MonoDevelop 4.0 unter Ubuntu 13.10.
    @Infinity: Hast du auch den Breakpoint gesetzt und die Zeile mit der Rechnung mit F11 "ausgeführt"?
    @markus.obi: Auch diese Zeile bringt falsche Ergebnisse.
    Hi Leseratte,

    ich habe an meinem PC auch Ubuntu 13.10 mit Monodevelop 3.0 installiert.
    Bin aber gerade am Laptop, darum kann ich es gerade nicht testen.

    Wenn ich dran bin, kann ich dir eine Antwort schreiben.

    MFG

    Alex-Digital :D

    EDIT:
    Habe doch MonoDevelop 3.0, und dort zeigt es das richtige Ergebnis an. Teste bitte das Programm
    mit 3.0 aus :D
    ~ Alex-Digital :D

    if(!Internet.VBP.Get<User>("Alex-Digital").IsOnline) this.Close(); :D

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Alex-Digital“ ()