V C alebo C++ je operátor modulo (známy aj ako operátor modulu) , označený %, je an aritmetický operátor . Operátor divízie modulo vyrába zvyšok celočíselného delenia, ktoré sa tiež nazýva modul operácie.
Syntax operátora modulu
Ak x a y sú celé čísla, potom výraz:
x % y;>
vyslovované ako x mod y. Napríklad 10 % 2 sa vysloví ako Ten mod Two.
Návratová hodnota operátora Modulo
- Ak y úplne delí x, výsledok výrazu je 0.
- Ak x nie je úplne deliteľné y, výsledkom bude zvyšok v rozsahu [0, y-1]
- (X % a) < (x / 2) ………ak (x>= y)
- (X % y) = x ……… ak (x
- Ak y je 0, potom delenie nulou je a chyba pri kompilácii .
Príklad operátora Modulo
Nižšie je uvedený program C/C++, ktorý demonštruje fungovanie operátora modulo:
C++
internetový protokol smtp
// 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;> }> |
>
>
Obmedzenia týkajúce sa operátora Modulo
Operátor modulo má niekoľko obmedzení alebo obmedzení. The operátor % modulu nemožno použiť na čísla s pohyblivou rádovou čiarkou teda plavák alebo dvojitý. Ak sa pokúsite použiť operátor modulo s konštantami alebo premennými s pohyblivou rádovou čiarkou, kompilátor vygeneruje chybu.
Príklad 1: Program v C/C++ na demonštráciu obmedzení operátora modulo.
C++
spracovanie výnimiek v jazyku Java
// 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;> }> |
>
>
Výkon
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; ^>
Modulo operátor pre záporné operandy
Znamienko výsledku pre operátora modulo je závislé od stroja pre záporné operandy, pretože akcia prebieha v dôsledku podtečenia alebo pretečenia.
Príklad 2: Program v C/C++ na demonštráciu operátora modulo pre záporné operandy.
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;> }> |
>
>Výkon
-3 0 -3>
Poznámka: Návratová hodnota v tomto prípade závisí od kompilátora.
java len poľa
Často kladené otázky o Modulo Operator
Q1. Definujte mod.
odpoveď:
V programovacích jazykoch C/C++ sa mod vzťahuje na matematickú operáciu, pri ktorej sa jedno číslo vydelí druhým a zvyšok sa vráti.
Môže sa vykonávať pomocou operátorský modul (%) .
Q2. Čo je mod aritmetika?
odpoveď:
Mod aritmetika sa vzťahuje na proces, v ktorom sa číslo stále obtáča okolo určitého bodu takým spôsobom, že je vždy menšie ako tento určitý bod. Napríklad,
Zvážte číslo n = 10 a bod p = 20.
Keď zvýšime n 10-krát, bude to n = 20, ale v modulárnej aritmetike by to malo byť menšie ako špecifikovaný bod.Jedným zo spôsobov, ako to dosiahnuť, je použiť operátor modulo ako:
n++; n = n % p;>Ak sa chcete dozvedieť viac o modulárnej aritimatike, pozrite si článok – Modulárna aritmetika
Q3. Aký je rozdiel medzi modulom a operátorom delenia?
odpoveď:
Hlavný rozdiel medzi modulom a operátorom divízie je v tom, že:
- Modul operátora (%) vráti zvyšok po vydelení jedného čísla druhým.
- Operátor rozdelenia (/) vráti podiel po vydelení jedného čísla druhým.