¿Hay alguna alternativa al uso de% (módulo) en C / C ++?
Una vez leí en alguna parte que el operador de módulo es ineficiente en pequeños dispositivos integrados como microcontroladores de 8 bits que no tienen instrucción de división entera. Quizás alguien pueda confirmar esto, pero pensé que la diferencia es 5-10 veces más lenta que con una operación de división de enteros.
¿Hay otra manera de hacer esto que no sea mantener un contador variable, ey desbordar manualmente a 0 en el punto de modificación?
const int FIZZ = 6;
for(int x = 0; x < MAXCOUNT; x++)
{
if(!(x % FIZZ)) print("Fizz\n"); // slow on some systems
}
vs:
La forma en que lo estoy haciendo actualmente:
const int FIZZ = 6;
int fizzcount = 1;
for(int x = 1; x < MAXCOUNT; x++)
{
if(fizzcount >= FIZZ)
{
print("Fizz\n");
fizzcount = 0;
}
}