Christoph Zurnieden: Rest Rechnung mit PhP ab 10 Stellen Fehler

Beitrag lesen

Hi,

Weil beim Double aus naheliegenden Gründen der Modulo-Operator nicht implementiert sein _kann_
Solche Gründe liegen mir fern, sprich: was ist in PHP so speziell, das es nicht funktionieren _kann_?
Nichts. Es sind rein mathematische Gründe.

Die Modulis (Modulus ist doch o-Deklination, oder?) aus der Mathematik und der Informatik werden unterschiedlich benutzt.
Während es in der Mathematik eher um Kongruenz geht, geht's in der Informatik meist schlicht um den Rest.

123 mod 2 = 1
124 mod 3 = 1
1239 mod 29 = 21

aber:
123.9 mod 2.9 = 2.1 (nicht definiert).

Hier kommt allerdings der Fakt in's Spiel, das bei den meisten Rechner-Architekturen nur Brüche benutzt werden können. (12/1, 1/3,2/77 aber z.B. nicht Pi, sqrt(2) o.ä.)
Brüche können jedoch mühelos erweitert werden.

123.9 mod 2.9 = 2.1

123,9 : 2,9 = q + 2,1
<=> (1239 : 29)/10 = (q + 21)/10

(1239 mod 29)/10 = 21/10

Deshalb kann es fmod(3) geben.
(Alles natürlich stark verkürzt. Bei Unklarheiten ruhig nachfragen)

so short

Christoph Zurnieden