小学数学 %的本质
麻了。
今天测试一些算式的时候忽然发现我连取余运算(%)都没搞明白。
具体是咋回事呢?请看如下的一个算式:
System.out.println(10 % -3);
我寻思这个跟 10 % 3 应该没啥区别,结果就加个符号不就完事儿了,想当然以为结果是 -1 。
然而结果是1.
???
这里解释一下,其实取余运算的本质仍然是加减乘除的一个组合运算,公式如下:
int a = 10;
int b = -3;
int num1 = a % b;
int num2 = a - a / b * b;//与 a % b 等价
System.out.println(num1 == num2);
结果为:
好了我该去小学复读了(