logo

Operador de mòduls en C/C++

Abans d'entendre el mòdul operador , hem de conèixer el terme operador . En programació, el símbol de l'operador diu al compilador que realitzi una operació determinada en un nombre donat en funció de l'operació passada.

S'utilitza per realitzar diferents operacions (+, -, *, /) sobre números. Ajuda a millorar la capacitat lògica i matemàtica del programador mitjançant l'ús de diversos operadors al programa. Excepte aquests quatre operadors bàsics, hi ha altres operadors com ara operador de mòdul (%), operador de resolució d'abast (::), etc.

b+ arbres

En aquest apartat, ens centrarem en el operador de mòdul.

Operador de mòduls en C/C++

Quin és l'operador mòdul en C i C++?

El operador de mòdul és un símbol utilitzat en diversos llenguatges de programació. Es denota amb el símbol de percentatge ( % ). És un operador mòdul que s'utilitza en l'operador aritmètic. Determina la resta. En alguns casos, la resta pot ser 0, vol dir que el nombre és completament divisible pel divisor.

Sintaxi:

 rem = a % b 

A la sintaxi anterior, a i b són dos nombres enters, i el % El símbol (percentatge) és un operador mòdul que divideix a per b i retorna la resta.

Possibilitats de retorn de l'operador del mòdul

A continuació es mostren les possibilitats quan el primer nombre es divideix pel segon nombre per retornar només un valor residual.

  1. Si la variable a és completament divisible pel segon nombre (b), retorna zero (0) o la resta es converteix en 0.
  2. Si la variable a no és completament divisible pel segon nombre (b), retorna un valor numèric en l'interval [1, a - 1]. O podem dir que retorna la resta a un valor enter diferent de zero.
  3. Si el primer número (a) és diferent de zero i el segon número és 0, donarà un error en temps de compilació.

Com funciona Modulus Operator en C/C++?

L'operador mòdul treballa amb dos operands rebuts per l'usuari final. Després d'això, divideix el primer nombre pel segon nombre i determina la resta. Entenem l'exemple següent que il·lustra la funcionalitat de l'operador mòdul.

Exemple : Quan fem l'operador mòdul entre 8 i 5, vol dir 8 % 5, retorna el 3 restant perquè quan es divideix 8 per 5, retorna 1 com a quocient i 3 com a residu.

java compara cadenes

De la mateixa manera, 7 % 2 retorna 1 com a residu perquè quan 7 es divideix per 2, retorna 3 com a quocient i 1 com a residu.

Exemple 1: escriviu un programa per implementar l'operador mòdul en 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(); } 

Sortida:

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

Nota: quan dividim un nombre flotant per un altre nombre, retorna l'error del temporitzador compilat com a operand no vàlid. Per tant, podem dir que no funciona amb nombre flotant.

Programa per implementar l'operador mòdul en C++.

Mode3.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></'>

Operador de mòduls en 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></\'>

Encadenament de mòduls d'operador

Podem utilitzar l'operador d'encadenament de mòduls per realitzar una divisió modular en més de dos operands en una sola instrucció. A continuació es mostra el pseudocodi per a l'encadenament de l'operador mòdul, tal com es mostra a continuació.

supw
 res = operand1 % operand2 % operand3 % .... % operand_n 

Considerem que el programa de Chaining of Modulus Operator pren més de dos operands.

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; } 

Sortida:

 Modulus is: 2