Comment Fonctionne Le Module Divison

Je ne comprends pas vraiment comment fonctionne la division de modules. Je calculais 27 % 16 et j'ai fini par 11 et je ne comprends pas pourquoi.

je n'arrive pas à trouver une explication en termes simples en ligne. Quelqu'un peut-il élaborer un très haut niveau de ce qui se passe ici?

80
demandé sur Robert Harvey 2010-04-19 02:44:00

17 réponses

le résultat d'une Division modulo est le reste d'une division entière des nombres donnés.

qui signifie:

27 / 16 = 1, remainder 11
=> 27 mod 16 = 11

autres exemples:

30 / 3 = 10, remainder 0
=> 30 mod 3 = 0

35 / 3 = 11, remainder 2
=> 35 mod 3 = 2
95
répondu Leo 2010-04-19 05:53:45

la plupart des explications manquent une étape importante, remplissons la lacune en utilisant un autre exemple.

étant donné ce qui suit:

Dividend: 16
Divisor: 6

la fonction de module ressemble à ceci:

16 % 6 = 4

voyons pourquoi.

D'abord, effectuer division entière , qui est similaire à la division normale, à l'exception de toute nombre fractionnaire (A. K. A. reste) est éliminé:

16 / 6 = 2

puis, multiplier le résultat de la division ci-dessus ( 2 ) avec notre diviseur ( 6 ):

2 * 6 = 12

enfin, soustraire le résultat de la multiplication ci-dessus ( 12 ) de notre dividende ( 16 ):

16 - 12 = 4

Le résultat de cette soustraction, 4 , le reste , est le même résultat de notre module ci-dessus!

115
répondu Marcin M. Jessa 2018-06-01 19:45:47

Peut-être l'exemple avec une horloge pourrait vous aider à comprendre le modulo.

Un familier de l'utilisation de l'arithmétique modulaire est son utilisation dans l'horloge de 12 heures, où la journée est divisée en deux 12 heures.

disons que nous avons actuellement cette fois: 15:00

Mais vous pouvez aussi dire qu'il est 15h

c'est exactement Ce que modulo fait:

15 / 12 = 1, remainder 3

vous trouvez cet exemple mieux expliqué sur wikipedia: article de Wikipedia Modulo

28
répondu Prine 2010-04-18 22:50:53

la formule simple pour calculer le module est: -

[Dividend-{(Dividend/Divisor)*Divisor}]

Ainsi, 27 % 16 :-

27- {(27/16)*16}

27-{1*16}

Réponse= 11

Note :

tous les calculs sont avec des nombres entiers. Dans le cas d'un quotient décimal, la partie après la virgule doit être ignoré/tronquée.

par exemple: 27/16= 1.6875 est pour être considérées comme 1 dans la formule susmentionnée. 0.6875 est ignoré.

les compilateurs de langages informatiques traitent un entier avec une partie décimale de la même manière (en tronquant après la décimale) ainsi que

26
répondu Code_Jamer 2013-06-11 22:06:28

l'opérateur du module prend une instruction de division et renvoie tout ce qui reste de ce calcul, les données" restantes", pour ainsi dire, comme 13 / 5 = 2. Ce qui veut dire qu'il en reste 3, ou ce qui reste de ce calcul. Pourquoi? parce que 2 * 5 = 10. Donc, 13-10 = 3.

l'opérateur du module fait tout ce calcul pour vous, 13% 5 = 3.

14
répondu RebelPhoenix 2016-06-29 19:04:09

la division de module est simple : diviser deux nombres et retourner le reste seulement

27 / 16 = 1 avec 11 restants, donc 27% 16 = 11

idem 43 / 16 = 2 avec 11 reste donc 43 % 16 = 11 trop

6
répondu oedo 2010-04-18 22:46:02

très simple: a % b est défini comme le reste de la division de a par b .

voir le article wikipedia pour plus d'exemples.

5
répondu Yuval Adam 2010-04-18 22:46:05

j'espère que ces simples mesures aideront:

20 % 3 = 2 
  1. 20 / 3 = 6 ; ne pas inclure le "151920920 – - il suffit de l'ignorer
  2. 3 * 6 = 18
  3. 20 - 18 = 2 , qui est le reste du modulo
2
répondu mustafe 2016-04-03 09:08:58

Module division vous donne le reste d'une division, plutôt que le quotient.

1
répondu samoz 2010-04-18 22:50:44

disons que vous avez 17 mod 6.

quel total de 6 Vous obtiendrez le plus proche de 17, il sera 12 parce que si vous allez plus de 12 Vous aurez 18 ce qui est plus que la question de 17 mod 6. Vous prendrez alors 12 et moins de 17 ce qui vous donnera votre réponse, dans ce cas 5.

17 mod 6=5

1
répondu Chad Finch 2013-06-18 20:36:28
La division du module

est assez simple. Il utilise le reste au lieu du quotient.

    1.0833... <-- Quotient
   __
12|13
   12
    1 <-- Remainder
    1.00 <-- Remainder can be used to find decimal values
     .96
     .040
     .036
     .0040 <-- remainder of 4 starts repeating here, so the quotient is 1.083333...

13/12 = 1R1, donc 13%12 = 1.


il est utile de considérer le module comme un "cycle".

en d'autres termes, pour l'expression n % 12 , le résultat sera toujours être < 12.

qui signifie la séquence pour l'ensemble 0..100 pour n % 12 " est:

{0,1,2,3,4,5,6,7,8,9,10,11,0,1,2,3,4,5,6,7,8,9,10,11,0,[...],4}

Dans cette lumière, le module, ainsi que ses utilisations, devient beaucoup plus claire.

1
répondu Braden Best 2014-08-21 18:51:40

plus facile quand votre nombre après la décimale (0.xxx) est courte. Alors tout ce que vous devez faire est de multiplier ce nombre avec le nombre après la division.

Ex: 32 % 12 = 8

Vous ne 32/12=2.666666667 Puis vous jetez le 2 loin, et de se concentrer sur le 0.666666667 0.666666667*12=8 <-- C'est votre réponse.

(encore une fois, seulement facile quand le nombre après la décimale est court)

1
répondu Gc220 2015-05-12 21:22:23

je voudrais ajouter une chose:

il est facile de calculer modulo lorsque le dividende est plus grand /plus grand que le diviseur

dividende = 5 diviseur = 3

5 % 3 = 2

3)5(1
  3
-----
  2

mais que faire si le diviseur est plus petit que le dividende

dividende = 3 diviseur = 5

3 % 5 = 3 ?? comment

c'est parce que, puisque 5 ne peut pas diviser 3 directement, modulo sera ce que le dividende est

1
répondu bn00d 2017-08-11 21:41:57

c'est simple, L'opérateur de module(%) retourne le reste après la division entière. Prenons l'exemple de votre question. Comment 27 % 16 = 11? Quand vous divisez simplement 27 par 16 I. e (27/16) alors vous obtenez le reste comme 11, et c'est pourquoi votre réponse est 11.

0
répondu Shiraz Shrestha 2013-03-11 14:35:17

écrivez un tableau commençant par 0.

{0,1,2,3,4}

continuer le tableau dans les lignes.

{0,1,2,3,4}
{5,6,7,8,9}
{10,11,12,13,14}

Tout dans la première colonne est un multiple de 5. Tout dans la colonne 2 est un multiple de 5 avec 1 comme reste. Maintenant, la partie abstraite: Vous pouvez écrire que (1) comme 1/5 ou comme une expansion décimale. L'opérateur de module retourne seulement la colonne, ou dans un autre mode de pensée, il renvoie le reste sur le long division. Vous travaillez en modulo (5). Différents modules, différentes tables. Pense à une table de hachage.

0
répondu Terrence McLaughlin 2015-03-30 01:22:45

quand nous divisons deux entiers nous aurons une équation qui ressemble à ce qui suit:

A / B =Q reste R

A est le dividende; B est le diviseur; Q est le quotient et R est le reste

parfois, nous ne nous intéressons qu'à ce qu'il reste quand nous divisons A par B. Dans ces cas, il y a un opérateur appelé l'opérateur modulo (mod).

Exemples

16/5= 3 Remainder 1  i.e  16 Mod 5 is 1.
0/5= 0 Remainder 0 i.e 0 Mod 5 is 0.
-14/5= 3 Remainder 1 i.e. -14 Mod 5 is 1.

Voir Khan Academy Article pour plus d'informations.

en informatique, la table de hachage utilise l'opérateur Mod pour stocker l'élément où A sera les valeurs après le hachage, B sera la taille de la table et R est le nombre de fentes ou de clé où l'élément est inséré.

voir comment fonctionne une table de hachage pour plus d'information

0
répondu Yogendra Paudyal 2017-05-23 11:33:25

C'était la meilleure approche pour moi pour comprendre l'opérateur du module. Je vous expliquerai simplement par des exemples.

16 % 3

quand vous divisez ces deux nombres, le reste est le résultat. C'est la façon dont je le fais.

16 % 3 = 3 + 3 = 6; 6 + 3 = 9; 9 + 3 = 12; 12 + 3 = 15

Donc ce qui est laissé à 16 est 1

16 % 3 = 1

voici un autre exemple: 16 % 7 = 7 + 7 = 14 que reste-t-il à 16? Is 2 16 % 7 = 2

Un de plus: 24 % 6 = 6 + 6 = 12; 12 + 6 = 18; 18 + 6 = 24 . Ainsi le reste est zéro, 24 % 6 = 0

0
répondu Nemus 2016-04-17 17:06:34