Mikä on oikee vastaus XXD?
Googlen mukaan: 40
Windows laskimen mukaan: -2
Java virtuaalikoneen mukaan: -2
Tuolta voit katsoa kumman (jakajan vai jaettavan) etumerkkiä jakojäännös palauttaa eri kielissä http://en.wikipedia.org/wiki/Modulo_operation
Muutama kieli palauttaa myös aina positiivisen ja joillakin kielillä on toteutuskohtaista. Joissakin kielissä on erillinen operaattori eri vaihtoehdoille.
Otsikosta ja Grezin linkistä tuli mieleeni: Modulo ei lähtökohtaisesti ole laskutoimitus vaan kongruenssiin liittyvä termi. Esimerkiksi seuraavat kongruenssit pitävät paikkansa:
-2 ≡ 40 (modulo 42)
82 ≡ 208 (modulo 42)
Jos tarkoitetaan laskutoimitusta, suomeksi kannattaa selkeyden vuoksi puhua jakojäännöksestä. Kummatkin tulkinnat tuloksesta ovat aivan kelvollisia; näistä negatiivinen ehkä jäljittelee enemmän jakojäännöstä fyysisenä tapauksena, kun taas positiivinen on yksinkertaisemmin määriteltävissä kongruenssin kautta.
Ei-negatiivisen tuloksen voi varmistaa esimerkiksi näin: (((x % M) + M) % M).
Metabolix kirjoitti:
Jos tarkoitetaan laskutoimitusta, suomeksi kannattaa selkeyden vuoksi puhua jakojäännöksestä.
Mielestäni ei kannata puhua laskutoimituksesta jakolaskun yhteydessä. Laskutoimitus on kuvaus XxX->X, missä X on jokin joukko. Koska on mielekästä suorittaa jakolasku 0/1, niin luvun nolla voisi olettaa kuuluvan X:ään. Toisaalta 1/0 ei ole määritelty perinteisessä aritmetiikassa. Siten jos haluaa puhua laskutoimituksesta, on X:stä poistettava nolla tai määriteltävä nollalla jako.
Aihe on jo aika vanha, joten et voi enää vastata siihen.