120 votes

Différence entre `mod` et` rem` dans Haskell

Quelle est exactement la différence entre mod et rem Haskell?

Les deux semblent donner les mêmes résultats

 *Main> mod 2 3
2
*Main> rem 2 3
2
*Main> mod 10 5
0
*Main> rem 10 5
0
*Main> mod 1 0
*** Exception: divide by zero
*Main> rem 1 0
*** Exception: divide by zero
*Main> mod 1 (-1)
0
*Main> rem 1 (-1)
0
 

172voto

larsmans Points 167484

Ils ne sont pas les mêmes quand le deuxième argument est négatif:

 2 `mod` (-3)  ==  -1
2 `rem` (-3)  ==  2
 

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X