45 votes

Opérateur modulo en C#

Je peux écrire le programme

int a = 3;
int b = 4;

Console.WriteLine(a % b);

La réponse que j'obtiens est 3. Comment 3 mod 4 = 3 ???

Je n'arrive pas à comprendre comment ça peut être calculé de cette façon.

117voto

quantumSoup Points 6565

Je ne savais pas trop à quoi m'attendre, mais je n'arrivais pas à comprendre comment le le reste était 3.

Donc vous avez 3 cookies, et vous voulez diviser les répartir équitablement entre 4 personnes.

Comme il y a plus de gens que de biscuits, personne n'a droit à un biscuit ( quotient \= 0) et vous avez un reste de 3 biscuits pour vous-même. :)

73voto

NullUserException Points 42268

Parce que le reste de 3 / 4 = 3.

http://en.wikipedia.org/wiki/Modulo_operator

19voto

Gabe Moothart Points 12400

3 mod 4 est le reste lorsque 3 est divisé par 4.

Dans ce cas, 4 entre dans 3 zéro fois avec un reste de 3.

6voto

Stokely Points 405

J'ai trouvé la réponse confuse et trompeuse......

Le module est ce qui reste dans le premier nombre après avoir divisé le second autant de fois que possible.

1 % 1 = 0 because after dividing 1 into 1, one time, there's nothing left
2 % 1 = 0 because after dividing 1 into 2, two times, there's nothing left
1 % 2 = 1 because 2 won't go into 1, so 1 is left

4voto

Rehan Manzoor Points 41

Je pense déjà que l'utilisateur a pu comprendre les réponses. Parce qu'il y a tellement de bons programmeurs en termes simples % vous indique le rappel après avoir divisé avec votre propre nombre entier.

par exemple

int a = int.Parse(Console.ReadLine());
int b = a % 2;

Maintenant, votre entrée 13, il donnera 1, parce qu'après avoir plongé 13 par 2 reste est 1 en mathématiques simples. J'espère que vous avez compris.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X