Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: C++: cmath -otsikkotiedosto ja modulo

ByteMan [26.06.2007 13:36:35]

#

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?

os [26.06.2007 13:42:36]

#

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.

ByteMan [26.06.2007 14:09:13]

#

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 :)

os [26.06.2007 15:06:39]

#

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

koo [26.06.2007 18:55:39]

#

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.

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta