logo

Modulus Operator i C/C++

Innan du förstår om modul operatör , vi behöver veta om termen operatör . Vid programmering talar operatörssymbolen för kompilatorn att utföra en speciell operation vid ett givet nummer baserat på den godkända operationen.

Den används för att utföra olika operationer (+, -, *, /) på siffror. Det hjälper till att förbättra programmerarens logiska och matematiska förmåga genom att använda olika operatörer i programmet. Förutom dessa fyra grundläggande operatörer finns det några andra operatörer som t.ex moduloperator (%), scope resolution operator (::), etc.

staplar java

I det här avsnittet kommer vi att fokusera på moduloperator.

Modulus Operator i C/C++

Vad är moduloperatorn i C och C++?

De moduloperator är en symbol som används i olika programmeringsspråk. Det betecknas med procentsymbolen ( % ). Det är en moduloperator som används i den aritmetiska operatorn. Det avgör resten. I vissa fall kan resten vara 0, det betyder att talet är helt delbart med divisorn.

Syntax:

 rem = a % b 

I ovanstående syntax är a och b två heltal, och % (Procent)-symbol är en moduloperator som dividerar a med b och returnerar resten.

Returmöjligheter för Modulus Operator

Följande är möjligheterna när det första talet divideras med det andra talet för att endast returnera ett återstående värde.

  1. Om variabeln a är helt delbar med det andra talet (b), returnerar den noll (0), eller resten blir 0.
  2. Om variabeln a inte är helt delbar med det andra talet (b), returnerar den ett numeriskt värde i området [1, a - 1]. Eller så kan vi säga att den returnerar resten till ett heltalsvärde som inte är noll.
  3. Om det första talet (a) inte är noll och det andra talet är 0, ger det ett fel vid kompileringstillfället.

Hur fungerar Modulus Operator i C/C++?

Moduloperatorn arbetar med två operander som tas emot av slutanvändaren. Efter det delar den det första talet med det andra talet och bestämmer resten. Låt oss förstå följande exempel som illustrerar funktionaliteten hos moduloperatorn.

Exempel : När vi utför moduloperatorn mellan 8 och 5, betyder 8 % 5, returnerar den resten 3 eftersom när 8 delas med 5, returnerar den 1 som kvot och 3 som resten.

q3 månader

På samma sätt ger 7 % 2 1 som en återstod eftersom när 7 divideras med 2, returnerar det 3 som kvot och 1 som återstod.

Exempel 1: Skriv ett program för att implementera Modulus Operator i C.

Mode.c

 #include #include void main() { int a, b; int res; // store the resultant of modulus expression a = 5; b = 2; res = a % b; // define modulus expression printf(' Modulus returns a remainder: %d', res); res = b % a; // define modulus expression printf(' 
 Modulus returns a remainder: %d', res); a = 10; b = 5; res = a % b; // define modulus expression printf(' 
 Modulus returns a remainder: %d', res); getch(); } 

Produktion:

 Modulus returns a remainder: 1 Modulus returns a remainder: 2 Modulus returns a remainder: 0 

Obs: När vi dividerar ett flyttal med ett annat tal, returnerar det det kompilerade timerfelet som en ogiltig operand. Därför kan vi säga att det inte fungerar med flytnummer.

Program för att implementera moduloperatorn i C++.

Läge3.cpp

 #include using namespace std; int main(void) { int a, b; int res; // store the resultant of modulus expression a = 5; b = 2; res = a % b; // modulus expression cout &lt;<' modulus returns a remainder: ' << res; res="b" % a; expression cout <<'
 b="5;" b; return 0; } < pre> <p> <strong>Output:</strong> </p> <pre> Modulus returns a remainder: 1 Modulus returns a remainder: 2 Modulus returns a remainder: 0 </pre> <h2>Modulus Operator in C++</h2> <p> <strong>Mode4.cpp</strong> </p> <pre> #include using namespace std; int main(void) { int a, b; int res; // store the result of modulus expression a = -5; b = 2; res = a % b; // modulus expression cout &lt;<' modulus returns a remainder: ' << res; b="-3;" res="a" % b; expression cout <<'
 return 0; } < pre> <p> <strong>Output:</strong> </p> <pre> Modulus returns a remainder: -1 Modulus returns a remainder: 2 Modulus returns a remainder: -1 </pre> <h3>Chaining of Modulus Operator</h3> <p>We can use the Chaining of Modulus Operator to perform modular division on more than two operands in a single statement. Following is the pseudo-code for the chaining of modulus operator, as given below.</p> <pre> res = operand1 % operand2 % operand3 % .... % operand_n </pre> <p>Let&apos;s consider the program of Chaining of Modulus Operator to take more than two operands.</p> <p> <strong>Mode5.cpp</strong> </p> <pre> #include using namespace std; int main() { // Use of modulus operator in C++ int x = 14; int y = 6; int z = 3; int modulo = x % y % z; // x % y returns 2, and 2 % z returns 2 cout &lt;&lt; &apos;Modulus is : &apos;&lt;&lt; modulo; } </pre> <p> <strong>Output:</strong> </p> <pre> Modulus is: 2 </pre> <hr></'></pre></'>

Modulus Operator i C++

Mode4.cpp

 #include using namespace std; int main(void) { int a, b; int res; // store the result of modulus expression a = -5; b = 2; res = a % b; // modulus expression cout &lt;<\' modulus returns a remainder: \' << res; b="-3;" res="a" % b; expression cout <<\'
 return 0; } < pre> <p> <strong>Output:</strong> </p> <pre> Modulus returns a remainder: -1 Modulus returns a remainder: 2 Modulus returns a remainder: -1 </pre> <h3>Chaining of Modulus Operator</h3> <p>We can use the Chaining of Modulus Operator to perform modular division on more than two operands in a single statement. Following is the pseudo-code for the chaining of modulus operator, as given below.</p> <pre> res = operand1 % operand2 % operand3 % .... % operand_n </pre> <p>Let&apos;s consider the program of Chaining of Modulus Operator to take more than two operands.</p> <p> <strong>Mode5.cpp</strong> </p> <pre> #include using namespace std; int main() { // Use of modulus operator in C++ int x = 14; int y = 6; int z = 3; int modulo = x % y % z; // x % y returns 2, and 2 % z returns 2 cout &lt;&lt; &apos;Modulus is : &apos;&lt;&lt; modulo; } </pre> <p> <strong>Output:</strong> </p> <pre> Modulus is: 2 </pre> <hr></\'>

Kedjning av Modulus Operator

Vi kan använda Chaining of Modulus Operator för att utföra modulär division på mer än två operander i en enda sats. Följande är pseudokoden för kedjan av moduloperator, enligt nedan.

Algoritm för bfs
 res = operand1 % operand2 % operand3 % .... % operand_n 

Låt oss överväga att programmet för Chaining of Modulus Operator tar mer än två operander.

Mode5.cpp

 #include using namespace std; int main() { // Use of modulus operator in C++ int x = 14; int y = 6; int z = 3; int modulo = x % y % z; // x % y returns 2, and 2 % z returns 2 cout &lt;&lt; &apos;Modulus is : &apos;&lt;&lt; modulo; } 

Produktion:

 Modulus is: 2