logo

Operador de módulo en C/C++

Antes de entender sobre el módulo operador , necesitamos saber sobre el término operador . En programación, el símbolo del operador le dice al compilador que realice una operación particular en un número determinado en función de la operación pasada.

Se utiliza para realizar diferentes operaciones (+, -, *, /) sobre números. Ayuda a mejorar la capacidad lógica y matemática del programador mediante el uso de varios operadores en el programa. Además de estos cuatro operadores básicos, existen otros operadores como operador de módulo (%), operador de resolución de alcance (::), etc.

Sree Ramanujan

En esta sección nos centraremos en la operador de módulo.

Operador de módulo en C/C++

¿Qué es el operador de módulo en C y C++?

El operador de módulo es un símbolo utilizado en varios lenguajes de programación. Se denota con el símbolo de porcentaje ( % ). Es un operador de módulo que se utiliza en el operador aritmético. Determina el resto. En algunos casos, el resto puede ser 0, lo que significa que el número es completamente divisible por el divisor.

Sintaxis:

 rem = a % b 

En la sintaxis anterior, a y b son dos números enteros, y el % El símbolo (porcentaje) es un operador de módulo que divide a por by devuelve el resto.

Posibilidades de retorno del operador de módulo.

Las siguientes son las posibilidades cuando el primer número se divide por el segundo número para devolver solo un valor restante.

  1. Si la variable a es completamente divisible por el segundo número (b), devuelve cero (0) o el resto se convierte en 0.
  2. Si la variable a no es completamente divisible por el segundo número (b), devuelve un valor numérico en el rango [1, a - 1]. O podemos decir que devuelve el resto a un valor entero distinto de cero.
  3. Si el primer número (a) no es cero y el segundo número es 0, se produce un error en el momento de la compilación.

¿Cómo funciona el operador de módulo en C/C++?

El operador de módulo trabaja con dos operandos recibidos por el usuario final. Después de eso, divide el primer número por el segundo y determina el resto. Entendamos el siguiente ejemplo que ilustra la funcionalidad del operador de módulo.

tipos de referencia java

Ejemplo : Cuando realizamos el operador de módulo entre 8 y 5, significa 8 % 5, devuelve el resto 3 porque cuando se divide 8 entre 5, devuelve 1 como cociente y 3 como resto.

De manera similar, 7 % 2 devuelve 1 como resto porque cuando 7 se divide por 2, devuelve 3 como cociente y 1 como resto.

Ejemplo 1: escribir un programa para implementar el operador de módulo en C.

Modo.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(); } 

Producción:

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

Nota: Cuando dividimos un número flotante por otro número, devuelve el error del temporizador compilado como un operando no válido. Por tanto, podemos decir que no funciona con número flotante.

Programa para implementar el operador de módulo en C++.

Modo3.cpp

lista de matrices java ordenar
 #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ódulo en C++

Modo4.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></\'>

Encadenamiento del operador de módulo

Podemos utilizar el operador de encadenamiento de módulo para realizar una división modular en más de dos operandos en una sola declaración. A continuación se muestra el pseudocódigo para el encadenamiento del operador de módulo, como se indica a continuación.

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

Consideremos que el programa de operador de encadenamiento de módulo toma más de dos operandos.

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

Producción:

 Modulus is: 2