In C oder C++ ist die Modulo-Operator (auch als Modulo-Operator bekannt) , bezeichnet mit %, ist ein arithmetischer Operator . Der Modulo-Divisionsoperator erzeugt die Rest einer ganzzahligen Division, die auch Modul der Operation genannt wird.
Syntax des Moduloperators
Wenn x und y ganze Zahlen sind, dann lautet der Ausdruck:
x % y;>
ausgesprochen als x mod y. Beispielsweise wird 10 % 2 als Ten mod Two ausgesprochen.
Rückgabewert des Modulo-Operators
- Wenn y x vollständig teilt, ist das Ergebnis des Ausdrucks 0.
- Wenn x nicht vollständig durch y teilbar ist, ist das Ergebnis der Rest im Bereich [0, y-1]
- (X % Und) < (x / 2) ………wenn (x>= y)
- (X % y) = x ……… wenn (x
- Wenn y 0 ist, dann Durch Null teilen ist ein Fehler bei der Kompilierung .
Beispiel eines Modulo-Operators
Nachfolgend finden Sie das C/C++-Programm, um die Funktionsweise des Modulo-Operators zu demonstrieren:
C++
// C++ Program to demonstrate the working of modulo operator> #include> using> namespace> std;> // Driver code> int> main(>void>)> {> >int> x, y;> >int> result;> >x = 3;> >y = 4;> >// using modulo operator> >result = x % y;> >cout << result << endl;> >result = y % x;> >cout << result << endl;> >// for different values> >x = 4;> >y = 2;> >result = x % y;> >cout << result;> >return> 0;> }> // This code is contributed by Mayank Tyagi> |
„Was ist 10 von 100“
>
>
C
// C Program to illustrate the working of modulo operator> #include> int> main(>void>)> {> >int> x, y;> >int> result;> >x = 3;> >y = 4;> >// using modulo operator> >result = x % y;> >printf>(>'%d'>, result);> >result = y % x;> >printf>(>'
%d'>, result);> >// for different values> >x = 4;> >y = 2;> >result = x % y;> >printf>(>'
%d'>, result);> >return> 0;> }> |
>
>
Einschränkungen für den Modulo-Operator
Für den Modulo-Operator gelten nur wenige Einschränkungen oder Beschränkungen. Der %-Modul-Operator kann nicht angewendet werden Gleitkommazahlen d.h. Float oder Double. Wenn Sie versuchen, den Modulo-Operator mit Gleitkommakonstanten oder -variablen zu verwenden, erzeugt der Compiler einen Fehler.
Beispiel 1: C/C++-Programm zur Demonstration der Einschränkungen des Modulo-Operators.
C++
Alter von Pete Davidson
// C++ Program to demonstrate the restrictions of modulo> // operator> #include> using> namespace> std;> // Driver code> int> main()> {> >float> x, y;> >x = 2.3;> >y = 1.5;> >// modulo for floating point values> >result = x % y;> >cout << result;> >return> 0;> }> // This code is contributed by Harshit Srivastava> |
>
>
C
String-Suche in C++
// C Program to illustrate the working of modulo operator> #include> int> main(>void>)> {> >float> x, y;> >float> result;> >x = 2.3;> >y = 1.5;> >// modulo for floating point values> >result = x % y;> >printf>(>'%f'>, result);> >return> 0;> }> |
>
>
Ausgabe
Compilation Error in C code :- prog.c: In function 'main': prog.c:19:16: error: invalid operands to binary % (have 'float' and 'float') result = x % y; ^>
Modulo-Operator für negative Operanden
Das Vorzeichen des Ergebnisses für den Modulo-Operator ist bei negativen Operanden maschinenabhängig, da die Aktion als Ergebnis eines Unter- oder Überlaufs ausgeführt wird.
Beispiel 2: C/C++-Programm zur Demonstration des Modulo-Operators für negative Operanden.
C++
Git-Pull-Syntax
// C++ Program to demonstrate the working of the modulo> // operator for negative operands> #include> using> namespace> std;> // Driver code> int> main(>void>)> {> >int> x, y;> >int> result;> >x = -3;> >y = 4;> >// modulo for negative operands> >result = x % y;> >cout << result << endl;> >x = 4;> >y = -2;> >result = x % y;> >cout << result << endl;> >x = -3;> >y = -4;> >result = x % y;> >cout << result;> >return> 0;> }> // This code is contributed by Harshit Srivastava> |
>
>
C
// C Program to illustrate the working of the modulo> // operator with negative operands> #include> int> main(>void>)> {> >int> x, y;> >int> result;> >x = -3;> >y = 4;> >// modulo for negative operands> >result = x % y;> >printf>(>'%d'>, result);> >x = 4;> >y = -2;> >result = x % y;> >printf>(>'
%d'>, result);> >x = -3;> >y = -4;> >result = x % y;> >printf>(>'
%d'>, result);> >return> 0;> }> |
>
Git-Pull-Syntax
>Ausgabe
-3 0 -3>
Notiz: Der Rückgabewert ist in diesem Fall vom Compiler abhängig.
FAQs zum Modulo-Operator
Q1. Mod definieren.
Antwort:
In den Programmiersprachen C/C++ bezieht sich mod auf die mathematische Operation, bei der eine Zahl durch eine andere dividiert und der Rest zurückgegeben wird.
Es kann mit durchgeführt werden Operatormodul (%) .
Q2. Was ist Mod-Arithmetik?
Antwort:
Mod-Arithmetik bezieht sich auf den Prozess, bei dem eine Zahl immer wieder um einen bestimmten Punkt gewickelt wird, so dass sie immer kleiner als dieser bestimmte Punkt ist. Zum Beispiel,
Bedenken Sie die Zahl n = 10 und das Punkt p = 20.
Wenn wir n um das Zehnfache erhöhen, ist es n = 20, aber in der modularen Arithmetik sollte es viel kleiner sein als der angegebene Punkt.Eine Möglichkeit, dies zu tun, besteht darin, den Modulo-Operator wie folgt zu verwenden:
n++; n = n % p;>Weitere Informationen zur modularen Arithmetik finden Sie im Artikel – Modulare Arithmatik
Q3. Was ist der Unterschied zwischen Modulo- und Divisionsoperator?
Antwort:
Der Hauptunterschied zwischen Modulo- und Divisionsoperator besteht darin:
- Operator-Modul (%) gibt den Rest zurück, nachdem eine Zahl durch eine andere dividiert wurde.
- Divisionsoperator (/) gibt den Quotienten zurück, nachdem eine Zahl durch eine andere geteilt wurde.