假设我有(-5) mod 8
.
我用 Java 和 C 两种语言都试过了,-5
当我期待3
.
为什么会这样?模数可以是负数吗?我应该改变什么以获得正确的结果?
Java 代码
public class Example {
public static void main(String[] args) {
int x;
x = -5%8;
System.out.println(x);
}
}
C代码
int main(){
int x;
x = -5%8;
printf("%d", x);
}
输出