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

                                  423
                                  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