fmod(): Seltsame Typisierung
Hallo,
ich habe gestern fmod() gebraucht und mich über folgende Angabe im
Manual doch sehr gewundert:
_float_ fmod ( _float_ $x, _float_ $y )
Warum ist hier alles vom Typ float? Meiner unmaßgeblichen Meinung nach =
ist ein Rest einer Division zumindest im reellen Zahlenraum immer
ganzzahlig. Das heißt, die Typisierung des Ergebnisses als Float ist
schlicht *falsch*. Und Divident und Divisor können ja immer
grundsätzlich entweder ganzzahlig oder auch Fließkomma sein.
=DCbersehe ich hier den Sinn nur, oder gibt es keinen?
Grüße,
Alex
Re: fmod(): Seltsame Typisierung
Alexander Schestag schrieb:
> Hallo,
>
> ich habe gestern fmod() gebraucht und mich über folgende Angabe im
> Manual doch sehr gewundert:
>
> _float_ fmod ( _float_ $x, _float_ $y )
>
> Warum ist hier alles vom Typ float? Meiner unmaßgeblichen Meinung nach
> ist ein Rest einer Division zumindest im reellen Zahlenraum immer
> ganzzahlig. Das heißt, die Typisierung des Ergebnisses als Float ist
> schlicht *falsch*. Und Divident und Divisor können ja immer
> grundsätzlich entweder ganzzahlig oder auch Fließkomma sein.
Versteh ich deine Frage falsch oder beantwortet das Beispiel aus dem Manual
<?php
$x = 5.7;
$y = 1.3;
$r = fmod($x, $y);
// $r ist 0.5 weil 4 * 1.3 + 0.5 = 5.7
?>
deine Frage?
Daniel
--
------- _ | _ |_ _. | _ _ _ -------
(_| | (_) |_) (_| | /_ (_) (_)
_| Deine Reisecommunity
--- Reiseblogs - Reisekarte - Reisetipps - http://www.globalzoo.de/ ---
Re: fmod(): Seltsame Typisierung
Alexander Schestag schrieb:
> _float_ fmod ( _float_ $x, _float_ $y )
>
> Warum ist hier alles vom Typ float?
Was soll es denn sonst sein?
> Meiner unmaßgeblichen Meinung nach ist ein Rest einer Division
> zumindest im reellen Zahlenraum immer ganzzahlig.
Das ist falsch. fmod(3.5, 1.7) ergibt z.B. 0.1, und das ist alles andere
als ganzzahlig.
> Das heißt, die Typisierung des Ergebnisses als Float ist schlicht
> *falsch*.
Die Typisierung ist so, wie sie ist, vollkommen in Ordnung.
Gruß. Claus
Re: fmod(): Seltsame Typisierung
Hi,
Claus Reibenstein wrote:
> Alexander Schestag schrieb:
>> Meiner unmaßgeblichen Meinung nach ist ein Rest einer Division
>> zumindest im reellen Zahlenraum immer ganzzahlig.
> Das ist falsch. fmod(3.5, 1.7) ergibt z.B. 0.1, und das ist alles ander=
e
> als ganzzahlig.
Ok, ich seh's ein, hier war ich auf dem falschen Dampfer. Liegt wohl
daran, daß mir Resteberechnungen bei Fließkommadivident und -divisor =
noch nicht so wirklich untergekommen sind. Ich hab vom natürlichzahlige=
n
Bereich verallgemeinert.
Grüße,
Alex
Re: fmod(): Seltsame Typisierung
Alexander Schestag schrieb:
> Hallo,
>
> ich habe gestern fmod() gebraucht und mich über folgende Angabe im
> Manual doch sehr gewundert:
>
> _float_ fmod ( _float_ $x, _float_ $y )
>
> Warum ist hier alles vom Typ float? Meiner unmaßgeblichen Meinung nach
drum heißt es ja fmod
> ist ein Rest einer Division zumindest im reellen Zahlenraum immer
> ganzzahlig. Das heißt, die Typisierung des Ergebnisses als Float ist
Das ist falsch, da sowohl Quotient als auch Rest werden dabei aus
demselben Ring(in diesem Fall aus |R) genommen wie Divisor und Dividend.
> schlicht *falsch*. Und Divident und Divisor können ja immer
> grundsätzlich entweder ganzzahlig oder auch Fließkomma sein.
Wenn du nur mod wünscht dann:
$result = 10.5 % 3;
echo $result;
>
> Übersehe ich hier den Sinn nur, oder gibt es keinen?
>
> Grüße,
>
> Alex