C:ssä tai C++:ssa modulo-operaattori (tunnetaan myös nimellä moduulioperaattori) , merkitty prosentilla, on an aritmeettinen operaattori . Modulo-jaon operaattori tuottaa loput kokonaislukujaosta, jota kutsutaan myös operaation moduuliksi.
Modulus Operatorin syntaksi
Jos x ja y ovat kokonaislukuja, lauseke:
x % y;>
lausutaan nimellä x mod y. Esimerkiksi 10 % 2 lausutaan nimellä Ten mod Two.
Modulo Operatorin palautusarvo
- Jos y jakaa x:n kokonaan, lausekkeen tulos on 0.
- Jos x ei ole täysin jaollinen y:llä, tulos on jäännös alueella [0, y-1]
- (x % ja) < (x / 2) ………jos (x>= y)
- (x % y) = x ……… jos (x
- Jos y on 0, niin nollalla jakaminen on käännösaikavirhe .
Esimerkki Modulo-operaattorista
Alla on C/C++-ohjelma, joka osoittaa modulo-operaattorin toiminnan:
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;> }> |
java tapauslausunto
>
>
Modulo-operaattorin rajoitukset
Modulo-operaattorilla on vähän rajoituksia tai rajoituksia. The % moduulioperaattori ei voida soveltaa liukulukuja eli kelluva tai tupla. Jos yrität käyttää modulo-operaattoria liukulukuvakioiden tai muuttujien kanssa, kääntäjä tuottaa virheen.
Esimerkki 1: C/C++-ohjelma, joka osoittaa modulo-operaattorin rajoitukset.
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;> }> |
>
>
Lähtö
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-operaattori negatiivisille operandiille
Moduulioperaattorin tuloksen etumerkki on koneriippuvainen negatiivisille operandeille, koska toiminto tapahtuu ali- tai ylivuodon seurauksena.
Esimerkki 2: C/C++-ohjelma negatiivisten operandien modulo-operaattorin esittelyyn.
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> |
>
json-muotoinen esimerkki
>
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;> }> |
>
>Lähtö
-3 0 -3>
Huomautus: Palautusarvo on tässä tapauksessa kääntäjästä riippuvainen.
Usein kysytyt kysymykset Modulo Operatorista
Q1. Määritä mod.
Vastaus:
C/C++-ohjelmointikielissä mod viittaa matemaattiseen operaatioon, jossa yksi luku jaetaan toisella ja loppuosa palautetaan.
Se voidaan suorittaa käyttämällä operaattorimoduuli (%) .
Q2. Mikä on modaritmetiikka?
Vastaus:
Mod-aritmetiikka viittaa prosessiin, jossa luku kiertyy tietyn pisteen ympärille siten, että se on aina pienempi kuin tietty piste. Esimerkiksi,
Harkitse numeroa n = 10 ja piste p = 20.
Kun lisäämme n:ää 10 kertaa, se on n = 20, mutta modulaarisessa aritmetiikassa sen pitäisi olla pienempi kuin määritetty piste.Yksi tapa tehdä se on käyttää modulo-operaattoria seuraavasti:
n++; n = n % p;>Jos haluat lisätietoja modulaarisesta aritimaattisuudesta, katso artikkeli - Modulaarinen aritmaattinen
Q3. Mitä eroa modulo- ja divide-operaattorilla on?
Vastaus:
Suurin ero modulo- ja jakooperaattorin välillä on, että:
- Operaattorimoduuli (%) palauttaa jäännöksen, kun yksi luku on jaettu toisella.
- Jaa operaattori (/) palauttaa osamäärän jakattuaan yhden luvun toisella.