深入了解整除除法
整数除法规则
在执行除法运算时,如果操作数符号不同(一个正数、一个负数),结果就是负数。
比如 -45/7 或者 45/-7,结果都是 -6。
如果两个都是正数或者两个都是负数,则结果就是正数。
#include <stdio.h>
int main(void)
{
printf("-45/7=%d\n",-45/7);
printf("45/-7=%d\n",45/-7);
printf("-45/-7=%d\n",-45/-7);
return 0;
}Code language: PHP (php)
输出结果:
-45/7=-6
45/-7=-6
-45/-7=6
取模运算规则
在执行取模运算时,不管操作数是否同号,结果的符号都和左操作数的符号相同。
比如:
45 % -7等于3-45 % 7等于-3-45 % -7也是等于-3
#include <stdio.h>
int main(void)
{
printf("-45%%7=%d\n",-45%7);
printf("45%%-7=%d\n",45%-7);
printf("-45%%-7=%d\n",-45%-7);
return 0;
}Code language: PHP (php)
输出结果:
-45%7=-3
45%-7=3
-45%-7=-3
总结
| 运算类型 | 规则 | 示例 |
|---|---|---|
整数除法 / | 结果符号:同号为正,异号为负。结果截断小数部分(向零取整) | -45/7 = -6 |
取模 % | 结果符号始终与左操作数相同 | -45%7 = -3 |
注意: 取模运算符 % 仅适用于整数类型。结果的计算逻辑为:a % b = a - (a / b) * b,其中 / 为整除(向零截断)。