In C o C++, il operatore modulo (noto anche come operatore modulo) , indicato con %, è un operatore aritmetico . L'operatore di divisione modulo produce il resto di una divisione intera detta anche modulo dell'operazione.
Sintassi dell'operatore modulo
Se xey sono numeri interi, l'espressione:
x % y;>
pronunciato come x modo y. Ad esempio, 10% 2 verrà pronunciato come Ten mod Two.
Valore restituito dall'operatore modulo
- Se y divide completamente x, il risultato dell'espressione è 0.
- Se x non è completamente divisibile per y, il risultato sarà il resto nell'intervallo [0, y-1]
- (X % E) < (x / 2) ………se (x>= y)
- (X % y) = x ……… se (x
- Se y è 0, allora divisione per zero è un errore in fase di compilazione .
Esempio di operatore modulo
Di seguito è riportato il programma C/C++ per dimostrare il funzionamento dell'operatore modulo:
C++
coda di priorità Java
// 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;> }> |
>
>
Restrizioni sull'operatore Modulo
L'operatore modulo presenta poche restrizioni o limitazioni. IL Operatore modulo % non può essere applicato a numeri in virgola mobile cioè float o double. Se si tenta di utilizzare l'operatore modulo con costanti o variabili a virgola mobile, il compilatore genererà un errore.
hashmap in Java
Esempio 1: programma C/C++ per dimostrare le restrizioni dell'operatore modulo.
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;> }> |
>
>
Produzione
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; ^>
Operatore modulo per operandi negativi
Il segno del risultato per l'operatore modulo dipende dalla macchina per gli operandi negativi, poiché l'azione avviene come risultato di underflow o overflow.
Esempio 2: programma C/C++ per dimostrare l'operatore modulo per operandi negativi.
C++
immagine di ribasso
// 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;> }> |
>
>
formica contro espertoProduzione
-3 0 -3>
Nota: Il valore restituito in questo caso dipende dal compilatore.
Domande frequenti su Modulo Operator
Q1. Definire mod.
Risposta:
Nei linguaggi di programmazione C/C++, mod si riferisce all'operazione matematica in cui un numero viene diviso per un altro e viene restituito il resto.
Può essere eseguito utilizzando modulo operatore (%) .
Q2. Cos'è l'aritmetica mod?
Risposta:
L'aritmetica mod si riferisce al processo in cui un numero continua ad avvolgersi attorno a un certo punto in modo tale che sia sempre inferiore a quel determinato punto. Per esempio,
Considera il numero n = 10 e il punto p = 20.
Quando incrementiamo n 10 volte, sarà n = 20 ma nell'aritmetica modulare dovrebbe essere molto più piccolo del punto specificato.Un modo per farlo è utilizzare l'operatore modulo come:
n++; n = n % p;>Per saperne di più sull'aritimatica modulare, fare riferimento all'articolo – Aritmatica modulare
Q3. Qual è la differenza tra operatore modulo e operatore di divisione?
Risposta:
La differenza principale tra operatore modulo e operatore di divisione è che:
- Modulo operatore (%) restituisce il resto dopo aver diviso un numero con un altro.
- Operatore di divisione (/) restituisce il quoziente dopo aver diviso un numero con un altro.