logo

Modulus Operator i C/C++

Før du forstår modul operatør , vi trenger å vite om begrepet operatør . Ved programmering forteller operatørsymbolet kompilatoren om å utføre en bestemt operasjon ved et gitt nummer basert på den beståtte operasjonen.

Den brukes til å utføre forskjellige operasjoner (+, -, *, /) på tall. Det bidrar til å forbedre programmererens logiske og matematiske evne ved å bruke ulike operatører i programmet. Bortsett fra disse fire grunnleggende operatørene, er det noen andre operatører som f.eks modulus operator (%), scope resolution operator (::), etc.

log4j

I denne delen vil vi fokusere på modulus operatør.

Modulus Operator i C/C++

Hva er modulusoperatoren i C og C++?

De modulus operatør er et symbol som brukes i ulike programmeringsspråk. Det er angitt med prosentsymbolet ( % ). Det er en modulusoperator som brukes i den aritmetiske operatoren. Det bestemmer resten. I noen tilfeller kan resten være 0, det betyr at tallet er helt delelig med divisor.

Syntaks:

 rem = a % b 

I syntaksen ovenfor er a og b to heltall, og % (Prosent)-symbol er en modulusoperator som deler a med b og returnerer resten.

Returmuligheter for modulusoperatøren

Følgende er mulighetene når det første tallet deles på det andre tallet for å returnere bare en gjenværende verdi.

  1. Hvis variabelen a er fullstendig delelig med det andre tallet (b), returnerer den null (0), eller resten blir 0.
  2. Hvis variabelen a ikke er fullstendig delelig med det andre tallet (b), returnerer den en numerisk verdi i området [1, a - 1]. Eller vi kan si at den returnerer resten til en heltallsverdi som ikke er null.
  3. Hvis det første tallet (a) ikke er null og det andre tallet er 0, gir det en feil ved kompilering.

Hvordan fungerer Modulus Operator i C/C++?

Modulus-operatoren arbeider med to operander mottatt av sluttbrukeren. Etter det deler den det første tallet med det andre tallet og bestemmer resten. La oss forstå følgende eksempel som illustrerer funksjonaliteten til modulusoperatoren.

Eksempel : Når vi utfører modulusoperatoren mellom 8 og 5, betyr 8 % 5, returnerer den resten 3 fordi når 8 deles på 5, returnerer den 1 som kvotient og 3 som resten.

streng sammenligning java

På samme måte gir 7 % 2 1 som en rest fordi når 7 deles på 2, returnerer den 3 som kvotient og 1 som resten.

Eksempel 1: Skriv et program for å implementere Modulus Operator i 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(); } 

Produksjon:

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

Merk: Når vi deler et flyttall med et annet tall, returnerer det den kompilerte timerfeilen som en ugyldig operand. Derfor kan vi si at det ikke fungerer med flyttall.

Program for å implementere modulusoperatoren i 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></'>

Modulus Operator i 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></\'>

Kobling av Modulus Operator

Vi kan bruke Chaining of Modulus Operator til å utføre modulær oppdeling på mer enn to operander i en enkelt setning. Følgende er pseudokoden for kjeding av modulusoperator, som gitt nedenfor.

terminal kali linux
 res = operand1 % operand2 % operand3 % .... % operand_n 

La oss vurdere programmet Chaining of Modulus Operator for å ta mer enn to operander.

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

Produksjon:

 Modulus is: 2