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.
    • 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

                                915
                                Online

                                31.9k
                                Users

                                80.1k
                                Topics

                                1.3m
                                Posts

                                11
                                17
                                624
                                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