logo

Modulový operátor v C/C++

Pred pochopením modulu operátor , musíme o termíne vedieť operátor . Pri programovaní symbol operátora hovorí kompilátoru, aby vykonal určitú operáciu s daným počtom na základe odovzdanej operácie.

Používa sa na vykonávanie rôznych operácií (+, -, *, /) s číslami. Pomáha zlepšiť logické a matematické schopnosti programátora používaním rôznych operátorov v programe. Okrem týchto štyroch základných operátorov existujú aj ďalší operátori ako napr operátor modulu (%), operátor rozlíšenia rozsahu (::) atď.

java string charat

V tejto časti sa zameriame na operátor modulu.

Modulový operátor v C/C++

Čo je modulový operátor v C a C++?

The operátor modulu je symbol používaný v rôznych programovacích jazykoch. Označuje sa symbolom percenta ( % ). Je to modulový operátor, ktorý sa používa v aritmetickom operátore. Ten určuje zvyšok. V niektorých prípadoch môže byť zvyšok 0, čo znamená, že číslo je úplne deliteľné deliteľom.

Syntax:

 rem = a % b 

Vo vyššie uvedenej syntaxi sú a a b dve celé čísla a % Symbol (percento) je modulový operátor, ktorý delí a b a vracia zvyšok.

Možnosti vrátenia operátora modulu

Nasledujú možnosti, keď sa prvé číslo vydelí druhým číslom, aby sa vrátila iba hodnota zvyšku.

v poriadku
  1. Ak je premenná a úplne deliteľná druhým číslom (b), vráti nulu (0) alebo zvyšok bude 0.
  2. Ak premenná a nie je úplne deliteľná druhým číslom (b), vráti číselnú hodnotu v rozsahu [1, a - 1]. Alebo môžeme povedať, že vráti zvyšok na nenulové celé číslo.
  3. Ak je prvé číslo (a) iné ako nula a druhé číslo je 0, pri kompilácii sa zobrazí chyba.

Ako funguje modulový operátor v C/C++?

Modulový operátor pracuje s dvoma operandmi, ktoré dostane koncový užívateľ. Potom vydelí prvé číslo druhým číslom a určí zvyšok. Poďme pochopiť nasledujúci príklad, ktorý ilustruje funkčnosť operátora modulu.

Príklad : Keď vykonáme modulový operátor medzi 8 a 5, čo znamená 8 % 5, vráti zvyšok 3, pretože keď sa 8 vydelí 5, vráti 1 ako podiel a 3 ako zvyšok.

Podobne 7 % 2 vráti 1 ako zvyšok, pretože keď je 7 delené 2, vráti 3 ako podiel a 1 ako zvyšok.

Príklad 1: Napíšte program na implementáciu modulového operátora v C.

Mode.c

 #include #include void main() { int a, b; int res; // store the resultant of modulus expression a = 5; b = 2; res = a % b; // define modulus expression printf(' Modulus returns a remainder: %d', res); res = b % a; // define modulus expression printf(' 
 Modulus returns a remainder: %d', res); a = 10; b = 5; res = a % b; // define modulus expression printf(' 
 Modulus returns a remainder: %d', res); getch(); } 

Výkon:

 Modulus returns a remainder: 1 Modulus returns a remainder: 2 Modulus returns a remainder: 0 

Poznámka: Keď vydelíme číslo s pohyblivou čiarou iným číslom, vráti to chybu kompilovaného časovača ako neplatný operand. Môžeme teda povedať, že nefunguje s pohyblivým číslom.

Program na implementáciu modulového operátora v C++.

Mode3.cpp

 #include using namespace std; int main(void) { int a, b; int res; // store the resultant of modulus expression a = 5; b = 2; res = a % b; // modulus expression cout &lt;<' modulus returns a remainder: ' << res; res="b" % a; expression cout <<'
 b="5;" b; return 0; } < pre> <p> <strong>Output:</strong> </p> <pre> Modulus returns a remainder: 1 Modulus returns a remainder: 2 Modulus returns a remainder: 0 </pre> <h2>Modulus Operator in C++</h2> <p> <strong>Mode4.cpp</strong> </p> <pre> #include using namespace std; int main(void) { int a, b; int res; // store the result of modulus expression a = -5; b = 2; res = a % b; // modulus expression cout &lt;<' modulus returns a remainder: ' << res; b="-3;" res="a" % b; expression cout <<'
 return 0; } < pre> <p> <strong>Output:</strong> </p> <pre> Modulus returns a remainder: -1 Modulus returns a remainder: 2 Modulus returns a remainder: -1 </pre> <h3>Chaining of Modulus Operator</h3> <p>We can use the Chaining of Modulus Operator to perform modular division on more than two operands in a single statement. Following is the pseudo-code for the chaining of modulus operator, as given below.</p> <pre> res = operand1 % operand2 % operand3 % .... % operand_n </pre> <p>Let&apos;s consider the program of Chaining of Modulus Operator to take more than two operands.</p> <p> <strong>Mode5.cpp</strong> </p> <pre> #include using namespace std; int main() { // Use of modulus operator in C++ int x = 14; int y = 6; int z = 3; int modulo = x % y % z; // x % y returns 2, and 2 % z returns 2 cout &lt;&lt; &apos;Modulus is : &apos;&lt;&lt; modulo; } </pre> <p> <strong>Output:</strong> </p> <pre> Modulus is: 2 </pre> <hr></'></pre></'>

Modulový operátor v C++

Mode4.cpp

 #include using namespace std; int main(void) { int a, b; int res; // store the result of modulus expression a = -5; b = 2; res = a % b; // modulus expression cout &lt;<\' modulus returns a remainder: \' << res; b="-3;" res="a" % b; expression cout <<\'
 return 0; } < pre> <p> <strong>Output:</strong> </p> <pre> Modulus returns a remainder: -1 Modulus returns a remainder: 2 Modulus returns a remainder: -1 </pre> <h3>Chaining of Modulus Operator</h3> <p>We can use the Chaining of Modulus Operator to perform modular division on more than two operands in a single statement. Following is the pseudo-code for the chaining of modulus operator, as given below.</p> <pre> res = operand1 % operand2 % operand3 % .... % operand_n </pre> <p>Let&apos;s consider the program of Chaining of Modulus Operator to take more than two operands.</p> <p> <strong>Mode5.cpp</strong> </p> <pre> #include using namespace std; int main() { // Use of modulus operator in C++ int x = 14; int y = 6; int z = 3; int modulo = x % y % z; // x % y returns 2, and 2 % z returns 2 cout &lt;&lt; &apos;Modulus is : &apos;&lt;&lt; modulo; } </pre> <p> <strong>Output:</strong> </p> <pre> Modulus is: 2 </pre> <hr></\'>

Reťazenie operátora modulu

Operátor Chaining of Modulus môžeme použiť na vykonanie modulárneho delenia na viac ako dvoch operandoch v jednom príkaze. Nasleduje pseudokód pre reťazenie operátora modulu, ako je uvedené nižšie.

java spánok
 res = operand1 % operand2 % operand3 % .... % operand_n 

Uvažujme, že program Chaining of Modulus Operator má viac ako dva operandy.

Mode5.cpp

 #include using namespace std; int main() { // Use of modulus operator in C++ int x = 14; int y = 6; int z = 3; int modulo = x % y % z; // x % y returns 2, and 2 % z returns 2 cout &lt;&lt; &apos;Modulus is : &apos;&lt;&lt; modulo; } 

Výkon:

 Modulus is: 2