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