eli löytyykö c++ otsikkotiedostosta cmath laskuoperaatiota modulo(mod)?
jos löytyy, miten sitä käytetään lausekkeessa yms tilanteessa?
jos ei löydy, miten sen saisi helposti korvattua jollain toisella laskutoimituksella yms tavalla?
Liukulukulaskun a / b
jakojäännös saadaan funktiolla std::fmod(a,b)
.
C:n %-operaatio (a % b
) palauttaa vastaavan kokonaislukulaskun jakojäännöksen.
Matematiikassa (mod) ei varsinaisesti ole laskuoperaatio.
jaa... luulin et se on joku erikoisjakojäännös ku kryptografiassa käytetään tämän tästä ja taas termiä modulo...
kiitoksia nyt kuitenkin :)
Kyllähän se siis käytännössä jakojäännöstä tarkoittaa; matemaattisen väitteen a = b (mod c) paikkansapitävyys testataan C:ssä vertailulla: (a % c == b % c)
Eli jos jossakin lukee vaikka, että a := b mod c
niin kyllä sillä varmaankin tarkoitetaan juuri tuota sijoituslauseketta:
a = b % c
Eipä sillä nyt taida käytännössä paljon merkitystä olla, mutta tarkalleen ottaen (esimerkiksi C:n) jakojäännös ei ole sama kuin modulo. Joissakin kielissä onkin erikseen remainder- ja modulo-operaatiot. Lopputuloksissa on eroja, kun lasketaan negatiivisilla luvuilla.
Aihe on jo aika vanha, joten et voi enää vastata siihen.