IEEERemainder: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
K (Hinweis zum Runden) |
K (LaTeX ergänzt) |
||
| Zeile 3: | Zeile 3: | ||
=== Beschreibung === | === Beschreibung === | ||
Die Funktion ''iEEERemainder'' berechnet die Remainder-Operation zweier Argumente, wie es in dem IEEE 745 Standard beschrieben ist [https://de.wikipedia.org/wiki/IEEE_754# | Die Funktion ''iEEERemainder'' berechnet die Remainder-Operation zweier Argumente, wie es in dem IEEE 745 Standard beschrieben ist (vgl. [https://doi.org/10.1109/IEEESTD.2019.8766229 IEEE 754-2019, S. 31], [https://de.wikipedia.org/wiki/IEEE_754#Arithmetik_und_Quadratwurzel Wikipedia]). Die Funktion erwartet zwei Zahlen und gibt das Ergebnis von | ||
\(f_{1} - (f_{2} \cdot \text{round}(\frac{f_{1}}{f_{2}}))\) | |||
zurück. | zurück. | ||
| Zeile 15: | Zeile 17: | ||
=== Return Value === | === Return Value === | ||
* Gibt das gerundete Ergebnis von | * Gibt das gerundete Ergebnis von \(f_{1} - (f_{2} \cdot Q)\) zurück. Q ist dabei das gerundete Ergebnis von \(f_{1}/f_{2}\). '''Hinweis''': Wenn \(f_{1}/f_{2}\) genau zwischen zwei ganzen Zahlen liegt, wird die gerade ganze Zahl zurückgegeben ([https://de.wikipedia.org/wiki/Rundung#Symmetrisches_Runden symmetrisches Runden]). | ||
* Wenn | * Wenn das Ergebnis gleich 0 ist, wird bei positivem \(f_{1}\) <code>+0</code> und bei negativem \(f_{1}\) <code>-0</code> zurückgegeben. | ||
* Wenn | * Wenn \(f_{2}\) gleich 0 ist, wird NaN zurückgegeben. | ||
===Unterschied zu Modulo=== | ===Unterschied zu Modulo=== | ||
Beide geben den Rest nach der Division zurück, verwenden aber unterschiedliche Formeln: | Beide geben den Rest nach der Division zurück, verwenden aber unterschiedliche Formeln: | ||
iEEERemainder = dividend -(divisor * Math.Round(dividend / divisor)) | iEEERemainder = dividend - (divisor * Math.Round(dividend / divisor)) | ||
Modulo = (Math.Abs(dividend) - (Math.Abs(divisor) * (Math.Floor(Math.Abs(dividend) / Math.Abs(divisor))))) * Math.Sign(dividend) | Modulo = (Math.Abs(dividend) - (Math.Abs(divisor) * (Math.Floor(Math.Abs(dividend) / Math.Abs(divisor))))) * Math.Sign(dividend) | ||
Aktuelle Version vom 20. Mai 2026, 12:11 Uhr
Zugehörige Evaluatoren
- MathEvaluator
Beschreibung
Die Funktion iEEERemainder berechnet die Remainder-Operation zweier Argumente, wie es in dem IEEE 745 Standard beschrieben ist (vgl. IEEE 754-2019, S. 31, Wikipedia). Die Funktion erwartet zwei Zahlen und gibt das Ergebnis von
\(f_{1} - (f_{2} \cdot \text{round}(\frac{f_{1}}{f_{2}}))\)
zurück.
Syntax
iEEERemainder(Gleitkommazahl f1, Gleitkommazahl f2)
Parameter
- f1 - Zähler
- f2 - Nenner
Return Value
- Gibt das gerundete Ergebnis von \(f_{1} - (f_{2} \cdot Q)\) zurück. Q ist dabei das gerundete Ergebnis von \(f_{1}/f_{2}\). Hinweis: Wenn \(f_{1}/f_{2}\) genau zwischen zwei ganzen Zahlen liegt, wird die gerade ganze Zahl zurückgegeben (symmetrisches Runden).
- Wenn das Ergebnis gleich 0 ist, wird bei positivem \(f_{1}\)
+0und bei negativem \(f_{1}\)-0zurückgegeben. - Wenn \(f_{2}\) gleich 0 ist, wird NaN zurückgegeben.
Unterschied zu Modulo
Beide geben den Rest nach der Division zurück, verwenden aber unterschiedliche Formeln:
iEEERemainder = dividend - (divisor * Math.Round(dividend / divisor))
Modulo = (Math.Abs(dividend) - (Math.Abs(divisor) * (Math.Floor(Math.Abs(dividend) / Math.Abs(divisor))))) * Math.Sign(dividend)
Beispiel:
3/2 iEEERemainder-->returns -1 Modulo-->returns 1 11/3 iEEERemainder-->returns -1 Modulo-->returns 2 28/5 iEEERemainder-->returns -2 Modulo-->returns 3
Beispiele
Standardfälle
iEEERemainder(4,2) --> returns 0 iEEERemainder(3,2) --> returns -1 iEEERemainder(27,4) --> returns -1 iEEERemainder(17.8,4) --> returns 1.8
Benutzung mit Variablen
iEEERemainder([var=a],[var=b])
Benutzung mit studentischen Eingaben
Jack2: iEEERemainder([pos=1],[pos=2])
Jack3: iEEERemainder([input=field1],[input=field2])