C arba C++ kalboje modulio operatorius (taip pat žinomas kaip modulio operatorius) , žymimas %, yra an aritmetinis operatorius . Modulo skyriaus operatorius gamina priminimas sveikųjų skaičių dalybos, kuri dar vadinama operacijos moduliu.
Modulus Operator sintaksė
Jei x ir y yra sveikieji skaičiai, tada išraiška:
x % y;>
tariamas kaip x mod y. Pavyzdžiui, 10 % 2 bus tariamas kaip Ten mod Two.
„Modulo Operator“ grąžinimo vertė
- Jei y visiškai padalija x, išraiškos rezultatas yra 0.
- Jei x nevisiškai dalijasi iš y, rezultatas bus intervalo [0, y-1] liekana.
- (x % ir) < (x / 2) ………jei (x>= y)
- (x % y) = x ……… jei (x
- Jei y yra 0, tada dalyba iš nulio yra kompiliavimo laiko klaida .
Modulo operatoriaus pavyzdys
Žemiau yra C/C++ programa, rodanti modulio operatoriaus veikimą:
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;> }> |
>
>
Modulo operatoriaus apribojimai
Modulinis operatorius turi keletą apribojimų ar apribojimų. The % modulio operatorius negali būti taikomas slankiojo kablelio skaičiai y., plūduriuojantis arba dvigubas. Jei bandysite naudoti modulo operatorių su slankiojo kablelio konstantomis arba kintamaisiais, kompiliatorius sukels klaidą.
1 pavyzdys: C/C++ programa, skirta parodyti modulio operatoriaus apribojimus.
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
sąrašą kaip masyvą
// 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;> }> |
>
>
Išvestis
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 operatorius neigiamiems operandams
Modulinio operatoriaus rezultato ženklas neigiamiems operandams priklauso nuo mašinos, nes veiksmas vyksta dėl perpildymo arba perpildymo.
2 pavyzdys: C/C++ programa, skirta parodyti neigiamų operandų modulio operatorių.
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;> }> |
>
>Išvestis
-3 0 -3>
Pastaba: Grąžinama vertė šiuo atveju priklauso nuo kompiliatoriaus.
DUK apie Modulo Operator
Q1. Apibrėžkite mod.
Atsakymas:
C/C++ programavimo kalbose mod reiškia matematinį veiksmą, kai vienas skaičius dalijamas iš kito, o likusi dalis grąžinama.
Jį galima atlikti naudojant modulio operatorius (%) .
Q2. Kas yra mod aritmetika?
Atsakymas:
Modifikacijos aritmetika reiškia procesą, kurio metu skaičius sukasi aplink tam tikrą tašką taip, kad jis visada yra mažesnis už tą tam tikrą tašką. Pavyzdžiui,
Apsvarstykite skaičių n = 10 ir taškas p = 20.
Padidinus n 10 kartų, jis bus n = 20, bet modulinėje aritmetikoje jis turėtų būti mažesnis už nurodytą tašką.Vienas iš būdų tai padaryti yra naudoti modulo operatorių kaip:
n++; n = n % p;>Norėdami sužinoti daugiau apie modulinę aritimate, skaitykite straipsnį - Modulinė aritmatika
Q3. Kuo skiriasi modulo ir padalijimo operatorius?
Atsakymas:
Pagrindinis skirtumas tarp modulio ir padalijimo operatoriaus yra tas, kad:
- Operatoriaus modulis (%) grąžina likutį, padalijus vieną skaičių su kitu.
- Padalinkite operatorių (/) grąžina koeficientą padalijus vieną skaičių su kitu.