Vinzenz: Verwirrung bei PHP (Rechnung)

Beitrag lesen

Hallo Henryk

Lies bitte dazu "Datentypen in C", http://pronix.linuxdelta.de/C/standard_C/c_programmierung_8.shtml#6. Das Problem ist nicht eines der Programmiersprachen, sondern eines der Zahldarstellung.

Und deswegen kann man 'einfach' die Zahlendarstellung wechseln: http://php.net/bc

Sicher sind die mathematischen Funktionen mit beliebiger Genauigkeit etwas Feines und sehr nützlich. In diesem speziellen Fall hier sehe ich jedoch keine Notwendigkeit, überhaupt damit zu arbeiten. Wenn ich durch Einsatz von etwas Gehirnschmalz mit Ganzzahlarithmetik auskomme, so ist das in meinen Augen viel besser.

Überleg' doch selbst: Kannst Du 1/3 mit Zahlen mit beliebiger Genauigkeit exakt darstellen? Was passiert bei folgenden Rechenschritten auch beim Einsatz von bc:

T0 = 1
T1 = T0 / 9
T2 = 9 * T1

oder vergleichbaren Schritten? Willst Du dynamisch ermitteln, wieviele Nachkommastellen ggf. erforderlich sind?

Schau Dir doch nochmals das extrem kritische Beispiel im Ausgangsposting an. Kannst Du mit BC sicherstellen, dass keine Rundungsfehler in die falsche Richtung auftreten?

Freundliche Grüße
Vinzenz