Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Einsteigerfragen
    4. Ungewöhnliche Nachkommastellen in der History

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    Ungewöhnliche Nachkommastellen in der History

    This topic has been deleted. Only users with topic management privileges can see it.
    • Homoran
      Homoran Global Moderator Administrators @Shark01 last edited by

      @shark01 sagte in Ungewöhnliche Nachkommastellen in der History:

      Mit diesen rechne ich weiter

      dann lass dir die Zwischenergebnisse doch mal anzeigen.
      und runde ggf.

      1 Reply Last reply Reply Quote 0
      • paul53
        paul53 @Shark01 last edited by

        @shark01 sagte: Mit diesen rechne ich weiter

        Bei Rechnen mit Gleitkommawerten entstehen irgendwann diese Nachkommastellen.

        S 1 Reply Last reply Reply Quote 0
        • S
          Shark01 @paul53 last edited by

          @paul53 Vielen Dank für die Antwort. Verstehe zwar nicht wie diese entstehen. Werde meine Resultate also runden müssen.

          MartinP 1 Reply Last reply Reply Quote 0
          • W
            warp-it @Shark01 last edited by

            @shark01
            Bin gerade auch auf das Phänomen gestoßen. Ist doch kaputt, wenn in Blockly aus 0,002-0,001 der Wert 0,0009999999999763531 entsteht.

            Codierknecht OliverIO 2 Replies Last reply Reply Quote 0
            • Codierknecht
              Codierknecht Developer Most Active @warp-it last edited by

              @warp-it sagte in Ungewöhnliche Nachkommastellen in der History:

              Ist doch kaputt, wenn in Blockly aus 0,002-0,001 der Wert 0,0009999999999763531 entsteht

              Nein, ist es nicht. Das Rechnen mit Gleitkommazahlen produziert diese Rundungsfehler.
              Das liegt in der Natur der Sache.

              https://www.vectorsoft.de/blog/2012/12/rundungsfehler-bei-float-werten

              W 2 Replies Last reply Reply Quote 0
              • W
                warp-it @Codierknecht last edited by

                @codierknecht
                Computer sind sooooo doof...

                Thomas Braun Asgothian 2 Replies Last reply Reply Quote 0
                • Thomas Braun
                  Thomas Braun Most Active @warp-it last edited by

                  @warp-it Aber dafür schnell!

                  MartinP 1 Reply Last reply Reply Quote 0
                  • MartinP
                    MartinP @Thomas Braun last edited by

                    @thomas-braun
                    Irgendjemand hat mir zumindest für Menschen erklärt, man könnte sie in eine 2 x 2 Tabelle einsortieren ...

                    { dumm, klug } x { faul, fleißig }

                    Dumm und Fleißig - das sind die Schlimmsten.... richten deutlich mehr Schaden pro Zeiteinheit an, als Dumm und Faul ...

                    Deshalb habe ich nur so einen langsamen Prozessor für ioBroker in Einsatz 😉

                    1 Reply Last reply Reply Quote 0
                    • Asgothian
                      Asgothian Developer @warp-it last edited by

                      @warp-it sagte in Ungewöhnliche Nachkommastellen in der History:

                      @codierknecht
                      Computer sind sooooo doof...

                      viel schlimmer. Computer machen genau das was du ihnen sagst - nicht was du von ihnen willst. Und die wenigsten können ihre Aufgabe hinreichend genau spezifizieren dass sie immer gleich und korrekt abgearbeitet wird.

                      A.

                      1 Reply Last reply Reply Quote 3
                      • W
                        warp-it @Codierknecht last edited by

                        @codierknecht
                        Hmmm, der Windows Taschenrechner kann das:
                        20f55725-7d56-4073-adec-14469dc670c3-image.png
                        Sogar ich kann das:
                        265e4b2c-33e1-4cf5-b6cb-a5d678b30943-image.png

                        Ro75 1 Reply Last reply Reply Quote 0
                        • Ro75
                          Ro75 @warp-it last edited by

                          @warp-it Gleitkommazahl, das wurde ja beschrieben.

                          Ro75.

                          1 Reply Last reply Reply Quote 0
                          • MartinP
                            MartinP @Shark01 last edited by

                            @shark01 Das hat etwas mit der internen Darstellung der Gleitkommanzahlen zu tun - ist etwas Hardcore ...

                            Das Gleitkommaformat ist ein kein platzraubendes Dezimalformat, sondern eine gepackte Binärdarstellungen ...

                            Die Darstellungs/Rundungsfehler entstehen bei den Umwandlungen aus/zur Dezimaldarstellung ..

                            https://en.wikipedia.org/wiki/Floating-point_error_mitigation

                            https://learn.microsoft.com/de-de/office/troubleshoot/excel/floating-point-arithmetic-inaccurate-result

                            1 Reply Last reply Reply Quote 0
                            • OliverIO
                              OliverIO @warp-it last edited by OliverIO

                              @warp-it sagte in Ungewöhnliche Nachkommastellen in der History:

                              0,002-0,001 der Wert 0,0009999999999763531

                              aber an javascript selbst liegt das nicht

                              a5dcb402-5c6a-4ace-a4fd-592f3720179b-image.png

                              auch im iobroker als script

                              console.log(0.002-0.001)
                              
                              javascript.0	15:13:32.654	info	Start JavaScript script.js.test1 (Javascript/js)
                              javascript.0	15:13:32.662	info	script.js.test1: 0.001
                              javascript.0	15:13:32.662	info	script.js.test1: registered 0 subscriptions, 0 schedules, 0 messages, 0 logs and 0 file subscriptions
                              
                              MartinP 1 Reply Last reply Reply Quote 0
                              • MartinP
                                MartinP @OliverIO last edited by MartinP

                                @oliverio said in Ungewöhnliche Nachkommastellen in der History:

                                @warp-it sagte in Ungewöhnliche Nachkommastellen in der History:

                                0,002-0,001 der Wert 0,0009999999999763531

                                aber an javascript selbst liegt das nicht

                                a5dcb402-5c6a-4ace-a4fd-592f3720179b-image.png

                                auch im iobroker als script

                                console.log(0.002-0.001)
                                
                                javascript.0	15:13:32.654	info	Start JavaScript script.js.test1 (Javascript/js)
                                javascript.0	15:13:32.662	info	script.js.test1: 0.001
                                javascript.0	15:13:32.662	info	script.js.test1: registered 0 subscriptions, 0 schedules, 0 messages, 0 logs and 0 file subscriptions
                                

                                Schlecht gewähltes Beispiel

                                Lasse Javascript mal das hier rechnen - genaues Ergebnis wäre 1234567890.0:

                                log (1234567890.001 + 0.349 - 0.002 - 0.348 + 0.003 + 0.347 - 0.004 - 0.346 + 0.005 + 0.345 - 0.006 - 0.344 + 0.007 + 0.343 - 0.008 - 0.342);
                                
                                F 1 Reply Last reply Reply Quote 0
                                • F
                                  fastfoot @MartinP last edited by

                                  @martinp sagte in Ungewöhnliche Nachkommastellen in der History:

                                  Schlecht gewähltes Beispiel

                                  das war das was der TE moniert hatte. Ansonsten muss es nicht sooo kompliziert sein:
                                  log(0.1 + 0.2)
                                  script.js.floats: 0.30000000000000004

                                  OliverIO 1 Reply Last reply Reply Quote 0
                                  • OliverIO
                                    OliverIO @fastfoot last edited by OliverIO

                                    @fastfoot sagte in Ungewöhnliche Nachkommastellen in der History:

                                    log(0.1 + 0.2)
                                    script.js.floats: 0.30000000000000004

                                    hier ist es tatsächlich so,

                                    aber bei dem TE Beispiel ist es nicht so.
                                    Nachtrag:
                                    ich habe mich mal überwunden das Blockly nachzustellen
                                    und kann das Ergebnis dort nicht nachvollziehen

                                    e04e458b-ab9f-4d72-ba14-586155be5a0b-image.png

                                    javascript.0	18:19:06.351	info	Start JavaScript script.js.test2 (Blockly)
                                    javascript.0	18:19:06.378	info	script.js.test2: 0.001
                                    javascript.0	18:19:06.378	info	script.js.test2: registered 0 subscriptions, 0 schedules, 0 messages, 0 logs and 0 file subscriptions
                                    

                                    von daher alles ok

                                    die Eingangs im log gezeigten Daten können schon sein, aufgrund den zusätzlichen Rechenoperationen.
                                    Wobei ich selbst bei +- Operationen damit nicht gerechnet hätte, sondern eher bei */sqrt. wobei bei Math.sqrt(7)*Math.sqrt(7) = 7.000000000000001 js erstaunlich gut abschneidet

                                    1 Reply Last reply Reply Quote 0
                                    • First post
                                      Last post

                                    Support us

                                    ioBroker
                                    Community Adapters
                                    Donate

                                    695
                                    Online

                                    31.9k
                                    Users

                                    80.1k
                                    Topics

                                    1.3m
                                    Posts

                                    11
                                    17
                                    625
                                    Loading More Posts
                                    • Oldest to Newest
                                    • Newest to Oldest
                                    • Most Votes
                                    Reply
                                    • Reply as topic
                                    Log in to reply
                                    Community
                                    Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                    The ioBroker Community 2014-2023
                                    logo