Можете ли вы множить a, b или c? Имеет ли C известный диапазон?
Это 32-битные целые числа! Проверьте этот сайт
Например, вот как вы получаете мод n% d, где d 1 >> s (1,2,4,8, ...)
int n = 137; // numerator
int d = 32; // denom d will be one of: 1, 2, 4, 8, 16, 32, ...
int m; // m will be n % d
m = n & (d - 1);
Существует код для n% d, где d равно 1 >> s - 1 (1, 3, 7, 15, 31, ...)
Это действительно поможет, только если c мало, как вы сказали.