IEEERemainder: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
PRanz (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
PRanz (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
||
Zeile 3: | Zeile 3: | ||
=== Beschreibung === | === Beschreibung === | ||
Die Funktion ''IEEEremainder'' berechnet die Remainder-Operation auf zwei Argumente, wie es in dem IEEE 745 Standtard beschrieben ist [https://de.wikipedia.org/wiki/IEEE_754#Aritmetik_und_Quadratwurzel]. Die Funktion erwartet zwei Zahlen und gibt das | Die Funktion ''IEEEremainder'' berechnet die Remainder-Operation auf zwei Argumente, wie es in dem IEEE 745 Standtard beschrieben ist [https://de.wikipedia.org/wiki/IEEE_754#Aritmetik_und_Quadratwurzel]. Die Funktion erwartet zwei Zahlen und gibt das Ergebnis von ''f1-(f2* Math.Round(f1/f2))'' zurück. | ||
=== Syntax === | === Syntax === | ||
Zeile 13: | Zeile 13: | ||
=== Return Value === | === Return Value === | ||
*Gibt | * Gibt das gerundete Ergebnis von f1-(f2 Q) zurück. Q ist dabei das gerundete EErgebnis von f1/f2. '''Hinweis''': Wenn f1/f2 genau zwischen zwei ganzen Zahlen liegt, wird die gerade ganze Zahl zurückgegeben. | ||
* Wenn der f1-(f2 Q) gleich 0 ist, wird bei positivem f1 ''+0'' und bei negativem f1 ''-0'' zurückgegeben. | |||
* Wenn f2 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 IEEremainder-->returns -1 Modulo-->returns 2 | |||
28/5 IEEEremainder-->returns -2 Modulo-->returns 3 | |||
=== Beispiele === | === Beispiele === | ||
Zeile 20: | Zeile 35: | ||
IEEEremainder(3,2) --> returns -1 | IEEEremainder(3,2) --> returns -1 | ||
IEEEremainder(27,4) -->returns -1 | |||
IEEEremainder(17.8,4) -->returns 1.8 | |||
==== Benutzung mit Variablen ==== | ==== Benutzung mit Variablen ==== |
Version vom 14. August 2019, 15:25 Uhr
Zugehörige Evaluatoren
- MathEvaluator
Beschreibung
Die Funktion IEEEremainder berechnet die Remainder-Operation auf zwei Argumente, wie es in dem IEEE 745 Standtard beschrieben ist [1]. Die Funktion erwartet zwei Zahlen und gibt das Ergebnis von f1-(f2* Math.Round(f1/f2)) zurück.
Syntax
IEEEremainder(Gleitkommazahl f1, Gleitkommazahl f2)
Parameter
- f1 - Zähler
- f2 - Nenner
Return Value
- Gibt das gerundete Ergebnis von f1-(f2 Q) zurück. Q ist dabei das gerundete EErgebnis von f1/f2. Hinweis: Wenn f1/f2 genau zwischen zwei ganzen Zahlen liegt, wird die gerade ganze Zahl zurückgegeben.
- Wenn der f1-(f2 Q) gleich 0 ist, wird bei positivem f1 +0 und bei negativem f1 -0 zurückgegeben.
- Wenn f2 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 IEEremainder-->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([pos=1],[pos=2]) IEEEremainder([var=a],[var=b])