我发现相同的mod操作会产生不同的结果,这取决于所使用的语言.
在Python中:
-1 % 10
生产9
在C中,它产生-1个!
- 哪一个是正确的模
- 如何使C中的mod操作与Python中的相同?
我发现相同的mod操作会产生不同的结果,这取决于所使用的语言.
在Python中:
-1 % 10
生产9
在C中,它产生-1个!
((n % M) + M) % M
次才能得到与Python相同的结果.((-1 % 10) + 10) % 10
.请注意,它如何仍然适用于正整数:((17 % 10) + 10) % 10 == 17 % 10
,以及C实现的两种变体(正余数或负余数).