IEEERemainder: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
PRanz (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
KKeine Bearbeitungszusammenfassung |
||
(16 dazwischenliegende Versionen von 3 Benutzern werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
==Zugehörige Evaluatoren== | {{Vorlage:Warnung|Warnung=Diese Seite beinhaltet eine Evaluator-Funktion im JACK3 System.}} | ||
===Zugehörige Evaluatoren=== | |||
*'''MathEvaluator''' | *'''MathEvaluator''' | ||
=== 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#Aritmetik_und_Quadratwurzel]. Die Funktion erwartet zwei Zahlen und gibt das Ergebnis von | |||
Die Funktion '' | f1-(f2* Math.Round(f1/f2)) | ||
zurück. | |||
=== Syntax === | === Syntax === | ||
iEEERemainder([[Gleitkommazahl]] f1, [[Gleitkommazahl]] f2) | |||
=== Parameter === | === Parameter === | ||
Zeile 13: | Zeile 17: | ||
=== Return Value === | === Return Value === | ||
* Gibt das gerundete Ergebnis von f1-(f2 Q) zurück. Q ist dabei das gerundete | * Gibt das gerundete Ergebnis von f1-(f2*Q) zurück. Q ist dabei das gerundete Ergebnis von f1/f2. '''Hinweis''': Wenn f1/f2 genau zwischen zwei ganzen Zahlen liegt, wird die gerade ganze Zahl zurückgegeben. | ||
* Wenn | * Wenn 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. | * Wenn f2 gleich 0 ist, wird NaN zurückgegeben. | ||
Zeile 20: | Zeile 24: | ||
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)) | |||
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) | ||
Zeile 26: | Zeile 30: | ||
Beispiel: | Beispiel: | ||
3/2 | 3/2 iEEERemainder-->returns -1 Modulo-->returns 1 | ||
11/3 | 11/3 iEEERemainder-->returns -1 Modulo-->returns 2 | ||
28/5 | 28/5 iEEERemainder-->returns -2 Modulo-->returns 3 | ||
=== Beispiele === | === Beispiele === | ||
==== Standardfälle ==== | ==== 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 ==== | ==== Benutzung mit Variablen ==== | ||
iEEERemainder([var=a],[var=b]) | |||
==== Benutzung mit studentischen Eingaben ==== | |||
'''Jack2:''' | |||
iEEERemainder([pos=1],[pos=2]) | |||
'''Jack3:''' | |||
iEEERemainder([input=field1],[input=field2]) | |||
[[Kategorie:Math-Evaluatorfunktion]] | [[Kategorie:Math-Evaluatorfunktion]][[Kategorie:JACK3]] |
Aktuelle Version vom 17. April 2024, 07:56 Uhr
Diese Seite beinhaltet eine Evaluator-Funktion im JACK3 System. |
Zugehörige Evaluatoren
- MathEvaluator
Beschreibung
Die Funktion iEEERemainder berechnet die Remainder-Operation zweier Argumente, wie es in dem IEEE 745 Standard 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 Ergebnis von f1/f2. Hinweis: Wenn f1/f2 genau zwischen zwei ganzen Zahlen liegt, wird die gerade ganze Zahl zurückgegeben.
- Wenn 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 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])