Как мы можем реализовать оператор modulo как функцию в C без использования оператора?
Реализация оператора modulo как функции в C
Ответ 1
Простой:
Если выражение
a/b
является представимым, выражение(a/b)*b + a%b
должно быть равноa
(стандарт C99, 6.5.5/6).
Ответ 2
Выполняет целочисленное деление с последующим умножением и вычитанием.
#include <stdio.h>
int main()
{
int c=8, m=3, result=c-(c/m*m);
printf("%d\n", result);
}
Ответ 3
Здесь вы идете:
a % b = a - (b * int(a/b))
Ответ 4
Вы можете моделировать x % y
путем многократного вычитания y
из x
и отслеживания результата. На каждой итерации, если результат меньше y
, тогда у вас есть остаток, и вы можете просто вернуть его.
Ответ 5
Дивиденд/Дивизор = Котировка
Формула (в Python 3) приведена ниже:
Modolus = Divident - Дивиденд //Divisor * Divisor
Например, если Dividend = 5 и Divisor = 2, то
Модуль = 5 - 5//2 * 2, который становится 5 - 2 * 2 5 - 4 1 Помните, что//имеет более высокий приоритет, чем -, поэтому 5//2 сначала оценивается.