如何在不使用运算符的情况下将模运算符作为C函数实现?
答案 0 :(得分:37)
进行整数除法后跟乘法,然后减去。
#include <stdio.h>
int main()
{
int c=8, m=3, result=c-(c/m*m);
printf("%d\n", result);
}
答案 1 :(得分:9)
你走了:
a % b = a - (b * int(a/b))
答案 2 :(得分:5)
您可以通过从x % y
重复减去y
并跟踪结果来模拟x
。在每次迭代中,如果结果小于y
,那么你有剩余的,并且可以返回它。
答案 3 :(得分:5)
简单:
如果商
a/b
可以表示,则表达式(a/b)*b + a%b
应等于a
(C99标准,6.5.5 / 6)。
答案 4 :(得分:0)
Dividend / Divisor = Quotient
公式(在Python 3中)如下:
Modolus = Divident - Dividend // Divisor * Divisor
例如,如果Dividend = 5,Divisor = 2,那么
模数= 5 - 5 // 2 * 2变为 5 - 2 * 2 5 - 4 1 请记住//优先于 - ,所以5 // 2是 首先评估。