gpt4 book ai didi

java - 在 Scala 中,为什么余数 (%) 运算符会返回负数?

转载 作者:太空狗 更新时间:2023-10-29 22:38:42 25 4
gpt4 key购买 nike

例如,(-3) % 2 将返回 -1 而不是 1

在 Scala 中获得正余数的首选方法是什么?比如(((-3) % 2) + 2) % 2,或者abs(-3 % 2)?

最佳答案

In scala, why could remainder (%) operator return a negative number?

模运算结果的符号有不同的约定; Wikipedia has a good article on it . Scala 与大多数编程语言一样,但绝不是所有编程语言,其结果采用红利符号(在您的例子中为 -3)。

What is the preferred way to get the positive remainder in Scala?

我怀疑是否存在普遍认可的首选方式;如果是我,要么使用 Math.floorMod ,它给出的结果带有除数符号(在您的示例中为 2)而不是被除数(这不仅仅意味着与 % 具有不同符号的相同值,有关详细信息,请参阅链接的 JavaDoc)。或者只是一个 if之后(if (result < 0) { result += M; } [其中 M 是除数,在您的示例中为 2])。

关于java - 在 Scala 中,为什么余数 (%) 运算符会返回负数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30003811/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com