Haskell mod与remHaskell 的区别究竟是什么?
两者似乎都给出了相同的结果
*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
Run Code Online (Sandbox Code Playgroud) 我发现相同的mod操作会产生不同的结果,具体取决于使用的语言.
在Python中:
-1 % 10
Run Code Online (Sandbox Code Playgroud)
产生9
在C中它产生-1!