printf und float



  • Andyman schrieb:

    Allgemein benutzt man %lf (long float) für die Ausgabe von Doublewerten was soweit ich weiß die Genauigkeit von 8 Byte beibehält.

    Nein!
    %lf ist bei printf nicht definiert, bzw. gibt das undefiniertes Verhalten.
    Die meisten Compiler sehen aber über das l hinweg.

    Bei scanf ist es definiert und muss auch für double angegeben werden.



  • Mache dich vielleicht mal mit C++ vertraut und zum Einstieg mit den sehr einfach zu handhabenden Streams für die Ausgabe: cout << "myfloat " << myfloat << endl; Du brauchst das dahinterstehende Konzept von C++ noch nicht einmal voll begreifen.

    Alle notwendigen Castings und Formatierungen macht C++ von alleine. Ist deulich besser als printf und co.



  • berniebutt schrieb:

    Mache dich vielleicht mal mit C++ vertraut und zum Einstieg mit den sehr einfach zu handhabenden Streams für die Ausgabe: cout << "myfloat " << myfloat << endl; Du brauchst das dahinterstehende Konzept von C++ noch nicht einmal voll begreifen.

    Alle notwendigen Castings und Formatierungen macht C++ von alleine. Ist deulich besser als printf und co.

    Diese Antwort - in diesem Forum, auf diese Frage, mit dieser Arroganz - empfinde ich als eine Zumutung. 😡
    Damit kannst Du meiner Meinung nach ins C++ Forum gehen.

    Gruß

    PS: ausserdem ist sie falsch:

    Alle notwendigen Castings und Formatierungen macht C++ von alleine.

    C++ macht default Formatierungen. Ob es die notwendigen sind kann der Compiler nicht wissen; das weiss häufig nicht mal der Programierer.



  • lol. Da hat berniebutt nicht aufgepaßt.
    Aber da Drehleiter daraufhin so rumkrakeelt, erkläre ich es nicht, sondern werfe im vor, daß er nichtmal http://en.wikipedia.org/wiki/Stdarg.h lesen kann.



  • Nicht aufgepasst? Wohl eher Unkenntnis weil grundlegend.
    Na hoffentlich hättest du ihm dann wenigstens erklärt, dass C printf schon immer und standardmäßig implizit promoted, defaultformatiert und auch noch dem Compiler die Chance bietet, Typwarnungen zu generieren.



  • Wutz schrieb:

    Nicht aufgepasst? Wohl eher Unkenntnis weil grundlegend.

    Nö, außerhalb dieses Forums hätte er recht.

    Er hat nur nicht aufgepaßt, in welchem Forum er gerade ist.



  • Vielen dank,

    speziell für folgende Hinweise

    DirkB schrieb:

    Nein musst du nicht, denn das casten geschieht automatisch.

    volkard schrieb:

    http://en.wikipedia.org/wiki/Stdarg.h

    und

    Wutz schrieb:

    printf schon immer und standardmäßig implizit promoted

    Gute Nacht



  • volkard schrieb:

    Er hat nur nicht aufgepaßt, in welchem Forum er gerade ist.

    Hat er schon! 🕶 Aber C und C++ sind glücklicherweise keine sich ausschliessende Dogmen. Man darf da auch mal auf die andere Seite schauen, wenn es Vorteile bringt. 🙂 War nur ein aufrichtig gemeinter Hinweis, mehr nicht! 😮

    Übrigens: im Forum C++ wird jeder genauso verhauen, der einen einfachen Vorschlag in C offeriert. Ist das jetzt wie katholisch oder evangelisch? 😕



  • Es ist, wie mit Hut in die Kirche oder mit Schuhen in die Moschee zu gehen. Das macht man nicht einfach nur so mal.



  • Compiler, Linker und Laufzeitsystem kennen keinen strengen Sittenwächter für reinen Programmierstil! 😮 Wozu auch? 😕


Anmelden zum Antworten