Problem beim Typ cast



  • Ich bin Dir auch sehr dankbar dafür!!!

    Ich weiß auch nun das das Bsp. sehr schlecht ist. Aber wenn ich bei der Deklaration der Variablen den Typ short beibehalten möchte, wie bekomme ich dann den wert nach der Berechnung in die Variable ergebnis? Ohne Wertebereichsüberschreitung?

    Genau das ist doch mein Problem.

    Das konnte ich bisher immer noch nicht erkennen. Und ich lese alle Deiner Posts.
    Vieleicht hab ich mich Dir gegenüber auch nur falsch ausgedrückt. Ich denke schon das ich auf Dich eingehe und auch Initiative zeige.

    Also letzter Versuch, OK?

    Danke!



  • Auf der ersten Seite in meinem zweiten Post steht:

    Nexus schrieb:

    Nein, die Variable ergebnis ist zu klein, um das Resultat zu halten. Deklarier sie als long .

    Reicht das? Oder soll ich dir nochmals sagen, dass short zu klein für den gewünschten Wertebereich ist?


  • Administrator

    Frandy schrieb:

    Ich weiß auch nun das das Bsp. sehr schlecht ist. Aber wenn ich bei der Deklaration der Variablen den Typ short beibehalten möchte, wie bekomme ich dann den wert nach der Berechnung in die Variable ergebnis? Ohne Wertebereichsüberschreitung?

    Gar nicht?
    Ein short hat auf den meisten Kompilern und Betriebsystemen 2 Bytes und kann somit unmöglich grössere Werte aufnehmen.

    Grüssli



  • Das ist doch auch klar, hab ich längst verstanden!!!!

    War auch von Anfang an klar!.

    Nur was ist mit der Lösung die zu der Aufgabenstellung vorgestellt wurde:

    ergebnis=static_cast<long>(wert)*14;
    

    ergebnis ist ja durch die Deklaration vom Typ short.

    Demnach ist das vorgeschlagene Ergebnis doch falsch!!!



  • Frandy schrieb:

    Das ist doch auch klar, hab ich längst verstanden!!!!

    War auch von Anfang an klar!.

    Natürlich, ich habe es schliesslich fünf Mal erklärt, um dich zu ärgern.

    Frandy schrieb:

    Demnach ist das vorgeschlagene Ergebnis doch falsch!!!

    Ja, wenn ergebnis in der Lösung als short deklariert ist, ist das ein Fehler.



  • Das mit dem Ärgern hat auch geklappt, besonders mit dem lernresistent!!!

    Das war des Rätsels Lösung. Ich wollte die falsche Lösung die als die richtige ausgegeben wurde verstehen und konnte es nicht.

    Noch einmal vielen Dank für Eure Unterstützung, besonders Deine Nexus!!

    Schönen Abend noch 😉



  • Frandy schrieb:

    Das mit dem Ärgern hat auch geklappt, besonders mit dem lernresistent!!!

    Hast du schon mal was von Ironie gehört? Im Übrigen stellt sich wohl die Frage, wen dieser Thread mehr Nerven gekostet hat. Aber nun gut...


  • Administrator

    Ehm, kann mir jemand erklären, was nun das endgültige Problem war? Ich versteh irgendwie nur Bahnhof 😕
    Was wollte Frandy nun wissen?

    Grüssli



  • Dravere schrieb:

    Ehm, kann mir jemand erklären, was nun das endgültige Problem war? Ich versteh irgendwie nur Bahnhof 😕
    Was wollte Frandy nun wissen?

    Frag mich nicht...

    Aber ich glaube, er wollte gar nichts wissen, da ihm ja alles von Anfang an klar war. :p



  • Hallo Dravere,

    schau mal auf das Ende von Seite 2, da ist die ganze Aufgabe beschrieben.

    Ich wollte einfach die vorgegeben Lösung nachvollziehen können. was aber nicht möglich ist.

    Habe mich in einer falschen Lösung verrant!


  • Administrator

    @Frandy,
    Achso, der Lösungsvorschlag zur Aufgabe ist dies:

    ergebnis=static_cast<long>(wert)*14;
    

    Dabei ist diese Lösung falsch und das war dein Problem?

    Was sind das denn für Aufgaben? Oder besser, wer hat die Lösungen dazu erstellt? Die Aufgaben würde ich ziemlich schnell wegwerfen, wenn die solch fatale Fehler machen 🙂

    Grüssli


Anmelden zum Antworten