Wurzelzieher

Inhalt

Division mit Rest

Natürliche Zahlen

  

Beispiel/ Bestimmung des Restes für spezielle Teiler

Ganze Zahlen

  

Implementierung in Computersystemen

Modulo
  

Beispiele

Grundrechenarten modulo einer natürlichen Zahl/ Verallgemeinerung: Reelle Zahlen/ Polynome

Anwendung

Siehe auch/ Literatur

Weblinks

 

 

Division mit Rest

Modulo

Modulo berechnet den Rest b der Division n/m. Man kann eine Funktion definieren, welche jedem Zahlenpaar { n ; m } eindeutig den Teilerrest b zuordnet. Diese nennt man „Modulo“ [] (lat. Modulus, Kasus Ablativ: „durch Maß“ oder auch „mit Maß“, somit Mehrzahl Moduli) und wird meistens mit mod abgekürzt. In vielen Programmiersprachen wird sie durch % dargestellt und als Operator behandelt.

Sei die Funktion

mit wie folgt definiert:

FormelGen :$(a\;\bmod\;m):= a - \left \brFloor{ \frac{a}{m} \right } \cdot m$: Parser error: missing }

Die Gaußklammer bezeichnet die größte ganze Zahl, die kleiner oder gleich der Zahl in der Gaußklammer ist, also ohne den Rest der Division a / m. Hier gilt stets
aber im Allgemeinen ist
z. B. .
Ist m positiv, so ist für alle a.

Neben dieser sogenannten „Mathematischen Variante“ wird oft auch eine ähnliche Funktion als Modulo bezeichnet, welche für negative Argumente unterschiedliche Ergebnisse liefert und „symmetrische Variante“ genannt wird:


dabei bezeichnet a div m den zur Null hin gerundeten Quotienten a / m, gegeben durch

FormelGen :$a\,\operatorname{div}\,m = \sgn(a)\sgn(m) \left \brFloor{ \frac{|a|}{|m|} \right }$: Parser error: missing }

, wobei sgn(x) die Signumfunktion bezeichnet. Für diese Variante gilt
( - a) bmod m = - (a bmod m),
aber im Allgemeinen
, z. B. .
a bmod m hat stets dasselbe Vorzeichen wie a, oder es gilt a bmod m = 0.

Gilt und m > 0, so ergeben beide Varianten dasselbe Ergebnis. In Programmiersprachen ist die implementierte Variante nicht einheitlich. So verwenden Ruby, Python und Perl die mathematische Variante, wo hingegen Java, C, JavaScript und PHP die symmetrische einsetzen, was besonders wichtig bei Portierungen ist. Der in der Googlesuche enthaltene Rechner verwendet die mathematische Variante.

Steht in einer Sprache wie C(++) oder Java nur die symmetrische Variante zur Verfügung, kann man Ergebnisse nach der mathematischen Variante erhalten mit:

a mod b = ( a % b + b) % b

wobei % der symmetrischen Modulooperation entspricht und mod der mathematischen.

 

 

 

 

Copyright- und Lizenzinformationen: Diese Seite basiert auf dem Artikel Division mit Rest aus der freien Enzyklοpädιe Wιkιpedιa und steht unter der Lizenz Creative Commons CC-BY-SA 3.0 Unported (Kurzfassung). Liste der Autoren

Anbieterkennzeichnung

 



Load: 26; Render: 0; Total: 26