Interne Darstellung double-Werte



  • Hallo zusammen,
    angenommen ich hab eine Variable

    double d = 0.3;
    

    Dann ist diese binär nicht darstellbar, deshalb erhalt ich d=0.2999..., soweit ist es mir klar. Ich kann sie auch runden wie ich will, dann wird sie (wahrscheinlich) wieder 0.3 und ist wieder nicht darstellbar und somit wieder d=0.2999...

    Wie wird es aber dann bei der Ausgabe bewerkstelligt, dass dort 0.3 ausgegeben werden kann. Vielleicht weiss ja jemand Bescheid, das Ganze ärgert mich schon ne ganze Weile 🙂

    Gruss CatDog



  • CatDog11 schrieb:

    Wie wird es aber dann bei der Ausgabe bewerkstelligt, dass dort 0.3 ausgegeben werden kann.

    Die Ausgabe wird gerundet.

    //könnte zum Beispiel so gehen
    double d=17.433
    int i=floor(d*1000000+0.5);
    cout<<i/1000000;
    cout<<'.':
    cout<<i%1000000;
    


  • Bei der Ausgabe wird gerundet. Und das gerundete nicht in einem double gespeichert, sondern eben ausgegeben. Kein Problem.



  • Eigtl. logisch, danke


Anmelden zum Antworten