I C eller C++ er modulo-operator (også kendt som modulus-operatoren) , angivet med %, er en aritmetisk operator . Modulo divisionsoperatøren producerer resten af en heltalsdivision, som også kaldes operationens modul.
Syntaks for Modulus Operator
Hvis x og y er heltal, så er udtrykket:
x % y;>
udtales som x mod y. For eksempel vil 10 % 2 blive udtalt som Ten mod Two.
Returværdi for Modulo Operator
- Hvis y deler x fuldstændigt, er resultatet af udtrykket 0.
- Hvis x ikke er fuldstændigt deleligt med y, så vil resultatet være resten i området [0, y-1]
- (x % og) < (x/2) …hvis (x>= y)
- (x % y) = x ……… hvis (x
- Hvis y er 0, så division med nul er en kompileringstidsfejl .
Eksempel på Modulo Operator
Nedenfor er C/C++-programmet til at demonstrere modulo-operatorens virkemåde:
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> |
>
>
eksekver script shell
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;> }> |
tostring java
>
>
Begrænsninger på Modulo-operatøren
Modulo-operatoren har få begrænsninger eller begrænsninger på sig. Det % modulus operator ikke kan anvendes på flydende kommatal dvs. flyde eller dobbelt. Hvis du forsøger at bruge modulo-operatoren med flydende kommakonstanter eller variabler, vil compileren producere en fejl.
Eksempel 1: C/C++-program til at demonstrere modulo-operatorens begrænsninger.
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;> }> |
>
>
Produktion
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-operator til negative operander
Resultattegnet for modulo-operatøren er maskinafhængig for negative operander, da handlingen sker som følge af underløb eller overløb.
Eksempel 2: C/C++-program til at demonstrere modulo-operatoren for negative operander.
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> |
>
omdøb mappe i linux
>
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;> }> |
>
>Produktion
-3 0 -3>
Bemærk: Returværdien i dette tilfælde er compiler-afhængig.
zeenat aman skuespiller
Ofte stillede spørgsmål om Modulo Operator
Q1. Definer mod.
Svar:
I C/C++ programmeringssprog refererer mod til den matematiske operation, hvor et tal divideres med et andet, og resten returneres.
Det kan udføres vha operatørmodul (%) .
Q2. Hvad er mod aritmetik?
Svar:
Mod-aritmetik refererer til den proces, hvor et tal bliver ved med at ombryde et bestemt punkt på en sådan måde, at det altid er mindre end det bestemte punkt. For eksempel,
Overvej antallet n = 10 og punkt p = 20.
Når vi inkrementerer n 10 gange, vil det være n = 20, men i modulær aritmetik bør det på en måde være mindre end det angivne punkt.En måde at gøre det på er at bruge modulo-operator som:
n++; n = n % p;>For at lære mere om modulær aritmatisk, se artiklen - Modulær aritmatisk
Q3. Hvad er forskellen mellem modulo og divider operator?
Svar:
Den største forskel mellem modulo og divisionsoperatør er, at:
- Operatør modul (%) returnerer resten efter at have divideret et tal med et andet.
- Opdel operatør (/) returnerer kvotienten efter at have divideret et tal med et andet.