2014-06-18 3 views
-3

Utiliser un opérateur de module est quelque chose que tous les programmeurs doivent savoir. Je le sais =).Opérateur de module Java

En Java, nous avons:

int a = 100 , b = 50, c; 

Si nous faisons:

c = a % b; // c = 0 because : 100 = 50*2 + 0 | D = d*q + r using simple maths 

Cependant, je me sentais un peu frustré de ne pas trouver le pourquoi de cette opération:

c = b % a; // c = 50 ???? It seems not to have logic when a use D = d*q + r 

Can quelqu'un pourrait m'expliquer pourquoi 50% 100 est 50 ??? Je ne comprends pas très bien.

Merci

Répondre

8

Becuase vous pouvez multiplier par 0:

c = 100*0 + 50; 

Il est le + 50 qui est retourné comme modulo.

3

penser de cette façon:

100 goes into 50 how many times?

zéro fois. Il doit donc rester 50. Par conséquent, la réponse est 50.