IEEERemainder: Unterschied zwischen den Versionen

Aus JACK Wiki
Zur Navigation springen Zur Suche springen
KKeine Bearbeitungszusammenfassung
 
(7 dazwischenliegende Versionen desselben Benutzers 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 ''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  
  f1-(f2* Math.Round(f1/f2))
  f1-(f2* Math.Round(f1/f2))
zurück.
zurück.


=== Syntax ===
=== Syntax ===
  IEEEremainder([[Gleitkommazahl]] f1, [[Gleitkommazahl]] f2)
  iEEERemainder([[Gleitkommazahl]] f1, [[Gleitkommazahl]] f2)


=== Parameter ===
=== Parameter ===
Zeile 22: 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))
  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 28: Zeile 30:
Beispiel:
Beispiel:


  3/2    IEEEremainder-->returns -1    Modulo-->returns 1
  3/2    iEEERemainder-->returns -1    Modulo-->returns 1
  11/3  IEEEremainder-->returns -1    Modulo-->returns 2
  11/3  iEEERemainder-->returns -1    Modulo-->returns 2
  28/5  IEEEremainder-->returns -2    Modulo-->returns 3
  28/5  iEEERemainder-->returns -2    Modulo-->returns 3


=== Beispiele ===
=== Beispiele ===
==== Standardfälle ====
==== Standardfälle ====
  IEEEremainder(4,2)  --> returns 0
  iEEERemainder(4,2)  --> returns 0
  IEEEremainder(3,2)  --> returns -1
  iEEERemainder(3,2)  --> returns -1
  IEEEremainder(27,4)  -->returns -1
  iEEERemainder(27,4)  --> returns -1
  IEEEremainder(17.8,4)  -->returns 1.8
  iEEERemainder(17.8,4)  --> returns 1.8


==== Benutzung mit Variablen ====
==== Benutzung mit Variablen ====
  IEEEremainder([pos=1],[pos=2])
  iEEERemainder([var=a],[var=b])
   
   
  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, 08: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])