logo

Operador de mòdul (%) en C/C++ amb exemples

En C o C++, el operador mòdul (també conegut com a operador mòdul) , denotada per %, és an operador aritmètic . L'operador de divisió mòdul produeix el resta d'una divisió entera que també s'anomena mòdul de l'operació.

Sintaxi de l'operador mòdul

Si x i y són nombres enters, llavors l'expressió:



x   %   y;>

pronunciat com x mod y. Per exemple, 10 % 2 es pronunciarà com Ten mod Two.

Valor de retorn de l'operador del mòdul

  • Si y divideix completament x, el resultat de l'expressió és 0.
  • Si x no és completament divisible per y, el resultat serà la resta en l'interval [0, y-1]
  • (x % i) < (x / 2) ………si (x>= y)
  • (x % y) = x ……… si (x
  • Si y és 0, aleshores divisió per zero és un error en temps de compilació .

Exemple d'operador de mòdul

A continuació es mostra el programa C/C++ per demostrar el funcionament de l'operador mòdul:

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>

>

>

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

conjunt mecanografiat
>

>

Restriccions a l'operador del mòdul

L'operador mòdul té poques restriccions o limitacions. El % operador de mòdul no es pot aplicar nombres de coma flotant és a dir, flotant o doble. Si intenteu utilitzar l'operador mòdul amb constants o variables de coma flotant, el compilador produirà un error.

Exemple 1: programa C/C++ per demostrar les restriccions de l'operador mòdul.

C++




// 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




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

>

>

Sortida

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

Operador de mòdul per a operands negatius

El signe del resultat per a l'operador mòdul depèn de la màquina per als operands negatius, ja que l'acció es produeix com a resultat d'un desbordament o desbordament.

Exemple 2: programa C/C++ per demostrar l'operador mòdul per a operands negatius.

C++




// 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

nombre aleatori java




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

>

>

Sortida

-3 0 -3>

Nota: El valor de retorn en aquest cas depèn del compilador.

Preguntes freqüents sobre Modulo Operator

Q1. Definir mod.

Resposta:

En els llenguatges de programació C/C++, mod es refereix a l'operació matemàtica en què un nombre es divideix per un altre i es retorna la resta.

Es pot realitzar utilitzant mòdul operator (%) .

P2. Què és l'aritmètica mod?

Resposta:

L'aritmètica mod es refereix al procés en què un nombre segueix envoltant un punt determinat de tal manera que sempre és inferior a aquest punt determinat. Per exemple,

Considereu el nombre n = 10 i la punt p = 20.
Quan augmentem n 10 vegades, serà n = 20, però en aritmètica modular, hauria de ser més petit que el punt especificat.

Una manera de fer-ho és utilitzar l'operador mòdul com:

n++; n = n % p;>

Per obtenir més informació sobre aritimatic modular, consulteu l'article - Aritmètica modular

P3. Quina diferència hi ha entre l'operador mòdul i l'operador de divisió?

Resposta:

La diferència principal entre l'operador mòdul i divisió és que:

  • Mòdul Operator (%) retorna la resta després de dividir un nombre entre un altre.
  • Divideix l'operador (/) retorna el quocient després de dividir un nombre per un altre.