c++modulo

Is it safe to compute remainder by performing division, multiplying back by the divisor, then subtracting the result from the dividend?


int a = 978;
int b = 24;
int c = a - (a / b) * b;

c seems to be remainder of division of a and b but I don't believe that operator % is doing exactly the same. So what's the trick?


Solution

  • The % operator does actually do exactly that. Your method is safe as long as b != 0, but the same thing goes when using %.