上次笔试考了一下%运算符,发现有点一知半解的,于是总结一发
c++代码如下:
#include <iostream>
using namespace std;
int main(){
cout << 7 % 3 << endl;
cout << -7 % 3 << endl;
cout << 7 % -3 << endl;
cout << -7 % -3 << endl;
return 0;
}
输出的结果为:
1
-1
1
-1
然后,结合网上的描述,有如下:
设a>0,b>0,则:
a % b = c
-a % b = -c
a % -b = c
-a % -b = -c
也就是说,c的正负只跟a有关,下面是自己的理解,仅供参考:
7 = 2 * 3 + 1
-7= -2 * 3 + (-1)
7=(-2)*(-3)+ 1
-7= 2 *(-3)+(-1)