17

演算子を使用せずにモジュロ演算子を C の関数として実装するにはどうすればよいでしょうか?

4

5 に答える 5

40

整数除算の後に乗算を行い、減算します。

#include <stdio.h>
int main()
{
  int c=8, m=3, result=c-(c/m*m);
  printf("%d\n", result);
}
于 2010-04-18T03:21:31.513 に答える
18

どうぞ:

a % b = a - (b * int(a/b))
于 2010-04-18T03:21:34.507 に答える
7

x % y結果から繰り返し減算yxて追跡することにより、シミュレートできます。各反復で、結果が 未満の場合y、残りがあり、それを返すことができます。

于 2010-04-18T03:23:20.310 に答える
4

単純:

a/bが表現可能な場合、式(a/b)*b + a%bは次のようになります。a

(C99 標準、6.5.5/6)。

于 2010-04-18T03:23:23.270 に答える
1

配当 / 除数 = 商

式 (Python 3) は以下のとおりです。

Modolus = Divident - Dividend // 除数 * 除数

たとえば、配当 = 5、除数 = 2 の場合、

Modulus = 5 - 5 // 2 * 2 は 5 - 2 * 2 5 - 4 1 になります // は - よりも優先順位が高いことに注意してください。したがって、5 // 2 が最初に評価されます。

于 2015-11-01T16:49:08.637 に答える