小学数学 %的本质

麻了。

image

今天测试一些算式的时候忽然发现我连取余运算(%)都没搞明白。
具体是咋回事呢?请看如下的一个算式:

System.out.println(10 % -3);

我寻思这个跟 10 % 3 应该没啥区别,结果就加个符号不就完事儿了,想当然以为结果是 -1 。
然而结果是1.

???

image

这里解释一下,其实取余运算的本质仍然是加减乘除的一个组合运算,公式如下:

int a = 10;
int b = -3;
int num1 = a % b;
int num2 = a - a / b * b;//与 a % b 等价
System.out.println(num1 == num2);

结果为:image

好了我该去小学复读了(

posted @ 2022-06-10 14:11  Kisen  阅读(112)  评论(0)    收藏  举报