关于含有负整数的求余运算该怎么取值问题,我搜索了百度百科与c++primer中文版,得到如下解答。
a、b为整数,其中a为被除数,b为除数。
运算过程:
求整商:c=a/b
求余(取模):r=a-b*c
0≤r≤b
c的取值原则是:
取模:c向-∞一侧取整(即让商尽可能小),r符号同除数
求余:c向0一侧取整(即让商尽可能接近0),r符号同被除数
编程中的“求余”或“取模”操做符为“%”,用于计算左操作数除以右操作数的余数。
1.c++、java中为求余运算
2.python中为取模运算
计算例子如下:
-7%4,
求余:c=-1,r=-3
取模:c=-2,r=1
7%-2,
求余:c=-3,r=-1
取模:c=-4,r=1
-9%-5,
求余:c=1,r=-4
取模:c=1,r=-4
11%4,
求余:c=2,r=3
取模:c=2,r=3
这里对于取模有个延伸概念——同余。
当整数a、b满足等式(a-b)%q=0时,称a、b对模q同余,写作a≡b(modq)即a对q取模的结果与b对q取模的结果相同(不是求余)。
如:18≡11(mod7)
-1≡6(mod7)
领取专属 10元无门槛券
私享最新 技术干货