V C nebo C++ je modulo operátor (také známý jako modulový operátor) , označený %, je an aritmetický operátor . Operátor divize modulo vyrábí zbytek celočíselného dělení, které se také nazývá modul operace.
Syntaxe operátoru modulu
Pokud jsou x a y celá čísla, pak výraz:
x % y;>
vyslovováno jako x mod y. Například 10 % 2 bude vyslovováno jako Ten mod Two.
Návratová hodnota operátora Modulo
- Pokud y úplně dělí x, je výsledkem výrazu 0.
- Pokud x není úplně dělitelné y, pak výsledkem bude zbytek v rozsahu [0, y-1]
- (X % a) < (x / 2) ………if (x>= y)
- (X % y) = x ……… pokud (x
- Pokud je y 0, pak dělení nulou je chyba při kompilaci .
Příklad operátora Modulo
Níže je uveden program C/C++, který demonstruje fungování operátoru modulo:
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;> }> |
>
>
Omezení pro operátora Modulo
Operátor modulo má několik omezení nebo omezení. The % modulu operátor nelze aplikovat na čísla s plovoucí desetinnou čárkou tj. plovoucí nebo dvojitý. Pokud se pokusíte použít operátor modulo s konstantami nebo proměnnými s plovoucí desetinnou čárkou, kompilátor vytvoří chybu.
Příklad 1: Program v C/C++ pro demonstraci omezení operátoru 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;> }> |
>
>
Výstup
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 pro záporné operandy
Znaménko výsledku pro operátor modulo je u záporných operandů závislé na stroji, protože akce probíhá v důsledku podtečení nebo přetečení.
Příklad 2: Program v C/C++ pro demonstraci operátoru modulo pro 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ýstup
-3 0 -3>
Poznámka: Návratová hodnota je v tomto případě závislá na kompilátoru.
Často kladené otázky o modulu Modulo Operator
Q1. Definujte mod.
Odpovědět:
V programovacích jazycích C/C++ mod odkazuje na matematickou operaci, ve které je jedno číslo děleno druhým a zbytek je vrácen.
Lze jej provést pomocí operátorský modul (%) .
java tutoriály
Q2. Co je mod aritmetika?
Odpovědět:
Mod aritmetika se týká procesu, ve kterém číslo stále obtéká určitý bod takovým způsobem, že je vždy menší než tento určitý bod. Například,
Zvažte číslo n = 10 a bod p = 20.
Když zvýšíme n 10krát, bude to n = 20, ale v modulární aritmetice by to mělo být menší než zadaný bod.Jedním ze způsobů, jak toho dosáhnout, je použít operátor modulo jako:
n++; n = n % p;>Další informace o modulární aritimatice naleznete v článku – Modulární aritmatické
Q3. Jaký je rozdíl mezi operátorem modulo a rozdělením?
Odpovědět:
Hlavní rozdíl mezi operátorem modulo a divizí je v tom, že:
- Operátorský modul (%) vrátí zbytek po dělení jednoho čísla druhým.
- Operátor rozdělení (/) vrátí podíl po dělení jednoho čísla druhým.