Buenas escribo el siguiente codigo en c:
#include <stdio.h>
int main(void)
{
int c,i;
for(i=0;i<=8;i++)
printf("el modulo entre %d y 8 es: %d\n",i,i%8);
return 0;
}
y lo que me sale es esto:
el modulo entre 0 y 8 es: 0
el modulo entre 1 y 8 es: 1
el modulo entre 2 y 8 es: 2
el modulo entre 3 y 8 es: 3
el modulo entre 4 y 8 es: 4
el modulo entre 5 y 8 es: 5
el modulo entre 6 y 8 es: 6
el modulo entre 7 y 8 es: 7
el modulo entre 8 y 8 es: 0
pero creo que tendría que ser esto:
el modulo entre 0 y 8 es: 0
el modulo entre 1 y 8 es: 1
el modulo entre 2 y 8 es: 2
el modulo entre 3 y 8 es: 3
el modulo entre 4 y 8 es: 5
el modulo entre 5 y 8 es: 6
el modulo entre 6 y 8 es: 7
el modulo entre 7 y 8 es: 8
el modulo entre 8 y 8 es: 0
que seria el primer numero después de la coma
No entiendo la lógica con que haces la cuenta. De todas formas te falta el 4.
Recuerda:
Dividendo = divisor * cociente + resto.
Mientras dividendo sea menor que el divisor el cociente es 0 y el resto, por tanto, debe ser igual al dividendo:
7 = 0 * 8 + 7
3/8=0,375 por lo tanto 4%8 debe ser 3
4/8=0,5 por lo tanto 4%8 debe ser 5
Confundes el resto con el cociente.
Lo verás por pasos:
1. Cociente 4 / 8 = 0 | Resto: 4 - (8 * 0) = 4
2. Como sigue quedando resto continuo operando. Como ya voy a ir más allá de las unidades pongo la coma decimal: Cociente = 0,
3. Como voy a calcular el número una posición a la derecha de la coma decimal tendré que hacer el resto que me quedó 10 veces más grande, porqué estoy en base 10, (resto * 10 = 4 * 10 = 40) y opero:
4. Operación 40 / 8 = 5 | Resto: 40 - (8 * 5) = 0
5. Incluyo el resultado de Operación al que ya tenía de Cociente. Cociente = 0,5
6. El resto calculado es 0. He terminado la operación de división.
gracias!!!