logo

Modulo-operatør (%) i C/C++ med eksempler

I C eller C++ er modulo-operator (også kjent som modulus-operatoren) , betegnet med %, er en aritmetisk operator . Modulo-divisjonsoperatøren produserer rest av en heltallsdivisjon som også kalles operasjonsmodulen.

Syntaks for Modulus Operator

Hvis x og y er heltall, så er uttrykket:



x   %   y;>

uttales som x mod y. For eksempel vil 10 % 2 bli uttalt som Ten mod Two.

Returverdi for Modulo Operator

  • Hvis y deler x fullstendig, er resultatet av uttrykket 0.
  • Hvis x ikke er helt delelig med y, 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, da divisjon med null er en kompileringstidsfeil .

Eksempel på Modulo Operator

Nedenfor er C/C++-programmet for å demonstrere hvordan modulo-operatøren fungerer:

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>

>

>

gratis ipconfig

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

>

>

Begrensninger på Modulo-operatøren

Modulo-operatøren har få begrensninger eller begrensninger på seg. De % moduloperator kan ikke brukes på flyttallstall dvs. flyte eller dobbel. Hvis du prøver å bruke modulo-operatoren med flyttallskonstanter eller variabler, vil kompilatoren produsere en feil.

Eksempel 1: C/C++-program for å demonstrere begrensningene til modulo-operatøren.

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;> }>

>

>

Produksjon

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-operatør for negative operander

Resultattegnet for modulo-operatøren er maskinavhengig for negative operander, ettersom handlingen skjer som følge av underflyt eller overløp.

Eksempel 2: C/C++-program for å 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>

>

tekstomslag css

>

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;> }>

>

>

Produksjon

-3 0 -3>

Merk: Returverdien i dette tilfellet er kompilatoravhengig.

hva er mac os

Vanlige spørsmål om Modulo Operator

Q1. Definer mod.

Svar:

I C/C++ programmeringsspråk refererer mod til den matematiske operasjonen der ett tall deles på et annet, og resten returneres.

Det kan utføres ved hjelp av modulo operatør (%) .

Q2. Hva er mod-aritmetikk?

Svar:

Mod-aritmetikk refererer til prosessen der et tall fortsetter å vikle seg rundt et bestemt punkt på en slik måte at det alltid er mindre enn det bestemte punktet. For eksempel,

Tenk på antallet n = 10 og punkt p = 20.
Når vi øker n 10 ganger, vil det være n = 20, men i modulær aritmetikk bør det på en måte være mindre enn det angitte punktet.

En måte å gjøre det på er å bruke modulo-operatoren som:

n++; n = n % p;>

For å lære mer om modulær aritmatisk, se artikkelen – Modulær aritmatisk

Q3. Hva er forskjellen mellom modulo og divide operator?

Svar:

Den største forskjellen mellom modulo og divisjonsoperatør er at:

  • Operatørmodul (%) returnerer resten etter å ha delt ett tall med et annet.
  • Del operatør (/) returnerer kvotienten etter å ha delt ett tall med et annet.