7 % 3 = 1 (remainder 1)
¿cómo
3 % 7
(el resto?)¿Cómo funciona el módulo de un dividendo más pequeño y un divisor más grande?
trabajo?
7 % 3 = 1 (remainder 1)
¿cómo
3 % 7
(el resto?)¿Cómo funciona el módulo de un dividendo más pequeño y un divisor más grande?
trabajo?
resto de 3/7 es 3..since se fue 0 veces con 3 resto tan 3% 7 = 3
gracias por esto, perturbó mi baño: D –
la misma manera. El cociente es 0 (3/7 con parte fraccional descartada). El resto satisface:
(a/b) * b + (a % b) = a
(3/7) * 7 + (3 % 7) = 3
0 * 7 + (3 % 7) = 3
(3 % 7) = 3
Esto se define en C99 §6.5.5, Operadores multiplicativos.
7 entra en 3? cero veces con 3 sobrantes.
cociente es cero. El resto (módulo) es 3.
(7 * 0) + 3 = 3
; por lo tanto, el resto es 3
.
a% q = r significa que hay una x para que q * x + r = a.
Así, el 7% 3 = 1, ya que 3 * 2 + 1 = 7,
y el 3% 7 = 3, ya que 7 * 0 + 3 = 3
Mientras que ambos son positivos , el resto será igual al dividendo. Si uno o ambos son negativos, entonces se le recuerda que %
es realmente el operador restante, no el operador de módulo. Un módulo siempre será positivo, pero un resto puede ser negativo.
Un módulo puede ser negativo. Puedes elegir _any_ coset representativo. – aaronasterling
Algebraicamente, el resto siempre es positivo. C es simplemente incorrecto en este sentido, y es una fuente interminable de problemas.:-( –
Independientemente de si prefiere definir sus términos, '%' (como se define en C y C++) puede producir un resultado negativo, lo que mucha gente no espera. –
7 dividido por 3 es 2 con un resto de 1
3 dividido por 7 es 0 con un resto de 3
Conceptualmente, yo creo que de esta manera. Por definición, el dividendo debe ser igual a (quotient * divisor) + modulus
O, la solución para el módulo: modulus = dividend - (quotient * divisor)
Cada vez que el dividendo es menor que el divisor, el cociente es siempre cero, lo que resulta en el módulo simplemente ser igual al dividendo .
Para ilustrar con los valores de OP:
modulus of 3 and 7 = 3 - (0 * 7) = 3
Para ilustrar con otros valores:
1 % 3:
1 - (0 * 3) = 1
2 % 3:
2 - (0 * 3) = 2
Sólo un FYI - La calculadora de su computadora puede hacer el módulo. –
@John B: sí, pero no puedo. aún ... –
@John B: sí, pero no puedo. aún ... -Mejor comentario alguna vez – tony9099