Java中的MoD生成负数

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (124)

当我计算int i = -1 % 2 我得到-1。在Python中,我得到i的结果是-1 % 2。用模函数在Java中获得相同的结果,我该怎么做?

提问于
用户回答回答于

这里的问题是,在Python中%运算符返回模数,在Java中返回余数。这些函数为正参数提供相同的值,但模数总是返回负值输入的正值结果,而余数可能会得到负值结果。在这个问题上有更多关于它的信息。

你可以通过这样做找到正数的值:

int i = (((-1 % 2) + 2) % 2)

或这个:

int i = -1 % 2;
if (i<0) i += 2;

(显然-1或2可以是任何你想要的分子或分母)

用户回答回答于

扫码关注云+社区

领取腾讯云代金券