Der Martin: Summe eines Arrays

Beitrag lesen

Hallo,

führe dir bitte mal vor Augen, dass das 32bit-Fließkommaformat (IEEE binary32) gerade mal 23 Bits für die Mantisse vorsieht. Das entspricht in der dezimalen Darstellung nur 7 gültigen Stellen.
Beides ist nicht relevant, weil PHP mit "doppelter Genauigkeit" rechnet, also 64-Bit-Floats verwendet und 14 Stellen zur Verfügung hat.

das dachte ich mir schon - Javascript anscheinend auch, wie ein
  alert(1e7+0.1)
zeigt. Würde die interne Rechnung auf single-precision float basieren, wäre das Ergebnis wieder 1E+07, weil der "Dynamikbereich" nicht mehr ausreicht, um die 0.1 dagegen noch darzustellen.

Wenn man also Beträge, wie sie beim Auto- oder Hauskauf durchaus auftreten, auf Cent genau erfassen will, versagt dieses Format schon.
Bei 7-stelligen Zahlen braucht es ungefähr auch eine 7-stellige Anzahl von Rechenschritten, um zu versagen

Nein, es braucht nur Zahlen, deren Größenordnung genügend weit auseinanderliegt. Nimm etwa eine Summe von 50'003 Euro und rechne unter Verwendung von 32bit-Floats die Märchensteuer drauf. Das geht gerade noch gut, du bekommst 59'503.57, aber damit ist auch der Genauigkeitsbereich dieser Zahlendarstellung nahezu ausgeschöpft. Jede weitere Rechenoperation mit diesem Wert könnte bereits einen Fehler auf der letzten Stelle erzeugen.

So long,
 Martin

--
Das Gehirn ist schon eine tolle Sache: Es fängt ganz von allein an zu arbeiten, wenn man morgens aufsteht, und hört erst damit auf, wenn man in der Schule ankommt.
  (alte Schülererkenntnis)
Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(
0 64

Summe eines Arrays

Matzeeee
  • php
  1. 0
    ChrisB
    1. 0
      Matzeeee
      1. 0
        Der Martin
  2. 0
    fastix®
    1. 0
      Gunnar Bittersmann
      1. 0

        Kurze Frage, kurze Antwort

        fastix®
        • sonstiges
        1. 0
          Tom
          1. 0
            fastix®
            1. 0
              Tom
            2. 0

              Array-Datensatz-Klasse bauen?

              Tom
              1. 0
                Matti Mäkitalo
                1. 0
                  Tom
                  1. 0
                    Matti Mäkitalo
                    1. 0
                      Tom
              2. 0
                dedlfix
      2. 0
        Alexander (HH)
        1. 0
          Gunnar Bittersmann
          1. 2
            fastix®
            1. 0
              Gunnar Bittersmann
              1. 0
                fastix®
                1. 0
                  Gunnar Bittersmann
                  1. 0
                    fastix®
                    1. 0
                      Gunnar Bittersmann
                      1. 0
                        ChrisB
                        1. 0
                          Gunnar Bittersmann
                          1. 0
                            ChrisB
                            1. 0
                              Gunnar Bittersmann
                          2. 1
                            fastix®
                            1. 0
                              Gunnar Bittersmann
                              1. 0
                                fastix®
                                1. 0
                                  Gunnar Bittersmann
                                  1. 1
                                    Der Martin
                                    1. 0
                                      Gunnar Bittersmann
                                      1. 0
                                        Der Martin
                                        1. 0
                                          Multi
                                          1. 0
                                            ChrisB
                                            1. 0
                                              Multi
                                              1. 0
                                                ChrisB
                                                1. 0
                                                  Multi
                                                  1. 0
                                                    Der Martin
                                                    1. 0
                                                      dedlfix
                                                      1. 0
                                                        Der Martin
                                                        1. 0
                                                          Sven Rautenberg
                                                        2. 0
                                                          dedlfix
                                                          1. 0
                                                            Der Martin
                                          2. 0
                                            fastix®
                                            1. 0
                                              Multi
                                    2. 0

                                      Summe eines Arrays aus Benzinpreisen u. PowerPoint-Präsentatoren

                                      fastix®
                                      • meinung
                            2. 0
                              Gunnar Bittersmann
                              1. 0
                                fastix®
                                1. 0
                                  Der Martin
                                2. 0
                                  Gunnar Bittersmann
                      2. 0
                        fastix®
          2. 0
            ChrisB
            1. 0
              Gunnar Bittersmann
              1. 0
                ChrisB
                1. 0
                  Gunnar Bittersmann
                  1. 1
                    ChrisB
                    1. 0
                      Gunnar Bittersmann
                      1. 0
                        ChrisB
                        1. 0
                          fastix®
            2. 0
              Gunnar Bittersmann
  3. 1
    Sven Rautenberg