Je souhaite obtenir des informations sur une formation complète concernant le thème DIVI dispensé
par un organisme de formation certifié par l’état.
Que la formation soit finançable par mon CPF (idéalement) ou autre


dans le L’informatique, l ‘Fonctionnement modulo[réf. souhaitée], ou Fonctionnement du Mod[1]est une opération binaire qui associe deux entiers naturels le du repos de Division euclidienne du premier au second, le reste de la division de sur par n ((n ≠ 0) est noté sur mod n ((sur %. n dans certains langages informatiques). Donc 9 mod 4 = 1 car 9 = 2 × 4 + 1 et 0 ≤ 1 <4, 9 mod 3 = 0, ... L'opération peut être étendue à des entiers relatifs ou même à nombres réels[2], mais alors le Langages de programmation peut différer en particulier sur mod n n’est plus forcément positif ou nul[3].

dans le mathématiques, l’utilisation du terme Modulo est différent, même s’il est lié: il ne désigne pas une opération, mais intervient pour caractériser une relation de Congruence sur les nombres entiers (et plus généralement pour d’autres congruences); le mot clé mod Associate est principalement utilisé pour noter cette congruence, même lorsque vous faites un travail comme Mathématiques concrètes l’utilise également pour désigner l’opération binaire[4].

En pratique, X mod Y. peut être calculé avec d’autres fonctions. Alors remarqué:

sur une :

Par exemple, 9 mod 4 = 9 – ~ 9/4 × 4 = 9 – 2 × 4 = 1.

Des différences se produisent en fonction des types de variables utilisés, qui contiennent le type entier dans les implémentations générales. La principale différence réside cependant dans l’interprétation de la partie entière du quotient, selon le signe du dividende ou celui du diviseur, s’ils peuvent être négatifs:

Utilisation de la partie entière (définition mathématique)[modifier | modifier le code]

E(z) (également noté

L’opérateur mod renvoie alors toujours un modulo entre 0 (inclus) et le diviseur Y. (exclu) et a le même signe que le diviseur Y. ::

dividende Diviseur quotient Se reposer
117 17e 6e 15e
-117 17e -7 2
-117 -17 6e -15
117 -17 -7 -2
12,7 3,5 3 2.2

Cette définition passe en revue les lois deArithmétique modulo, Plus: X mod –Y. = – ((-X) mod Y.). Il convient aux calculs cycliques (par exemple calendrier). La valeur modulaire renvoyée a toujours le signe du diviseur (où le diviseur est positif dans la plupart des calculs cycliques, y compris les calculs de calendrier).

Utilisation de la fonction de réduction de la partie décimale (approximation de la programmation)[modifier | modifier le code]

x % y = x - y * iPart(x / y)

Par exemple :
dividende Diviseur quotient Se reposer
117 17e 6e 15e
-117 17e –6 -15
-117 -17 6e -15
117 -17 –6 15e

Le modulo a le même signe que l’opérande de gauche.

La loi révise cette définition:X+n) mod n = X mod n. Elle enfreint la loi X mod –Y. = X mod YY

Comparaison sous forme de tableau[modifier | modifier le code]

Comparaison des opérateurs modulo
déf. mathématiquement réduction Fonction. Euclidienne
dividende Diviseur quotient Se reposer quotient Se reposer Se reposer
117 17e 6e 15e 6e 15e 15e
-117 17e -7 2 –6 -15 ?
-117 -17 6e -15 6e -15 15e
117 -17 -7 -2 –6 15e ?
12,7 3,5 3 2.2

Comportement avec des opérandes non entiers[modifier | modifier le code]

Les trois définitions permettent X et Y. être ensemble Négatifs ou Nombres rationnels (ou réel en mathématiques, bien que les systèmes informatiques de calcul numérique ne puissent fonctionner qu’avec un sous-ensemble de nombres rationnels en raison de leurs limites de précision)

Cependant, en C, C ++, PHP et dans de nombreux langages, l’opérateur mod ou % fonctionne uniquement avec les types entiers. Selon la langue, les types numériques sont parfois implicitement convertis en nombres entiers (par ex. Obliger).

Les langages suivants utilisent la définition mathématique (1.)[modifier | modifier le code]

  • perle :: $a % $n est défini sur des nombres entiers; Les opérandes réels sont réduits à 0 avec Obliger ;;
  • Visual Basic :: a Mod n est défini pour les nombres réels et entiers et renvoie un entier si les deux opérandes sont des entiers.
  • Pascal (ISO 7185): a mod n n’autorise que les opérandes entiers, et n doit être strictement positif;
  • Exceller :: MOD(a;n) fonctionne avec des nombres réels;
  • Langage Python : Cette sélection est expliquée dans la FAQ à l’aide de l’exemple suivant:

« Si une horloge indique 10 heures, qu’est-ce qu’elle a dit il y a 200 heures? » -190 % 12 == 2 Est utile; -190 % 12 == -10 est un scarabée prêt à mordre[5]. »

Les langues suivantes utilisent la définition (2.)[modifier | modifier le code]

  • Pascal libre et Delphes Autoriser uniquement les opérandes entiers et la définition du langage[6] indique: « Le signe du résultat est le signe de l’opérande de gauche »;
  • C.[7], C ++ :: a % n demande des opérandes entiers;
  • Java :: a % n autorise de vrais opérandes;
  • Javascript :: a % n autorise les opérandes réels;
  • PHP :: $a % $n est défini sur des nombres entiers et renvoie un résultat avec le même signe que $a ;;
  • Scilab :: modulo(a, n) accepte les réels.

Dans la plupart des langues, l’opération est Modulo ne génère pas de résultat si le diviseur est égal à zéro et une exception arithmétique pour la division par zéro est générée.

Les opérations modulo peuvent être réduites ou développées de la même manière que les autres opérations mathématiques.

  • Identité:
    • Et
  • Vice versa:
  • Distributivité:
    • À propos de quoi :
  • Département (définition):
  • Multiplication inverse:

L’opération modulo permet de déplacer les index de manière circulaire. En effet, si l’on considère la suite d’entiers liés de 1 à n, u = (1, 2, 3, …, n – 1, n), alors nous pouvons basculer p Lignes avec:

u ‘je = ((uje + p – 1) mod n) + 1.

Par exemple, pour déplacer la séquence de deux (1, 2, 3, 4, 5):

u ‘je = ((uje + 1) mod 5) + 1;

on a:

  • u ‘1 = ((1 + 1) mod 5) + 1 = 3
  • u ‘2 = ((2 + 1) mod 5) + 1 = 4
  • u ‘4e = ((4 + 1) mod 5) + 1 = 1

et donc u ‘ = (3, 4, 5, 1, 2).

  1. Ronald Graham, Donald Knuth et Oren Patashnik (trad. Alain Denise), Mathématiques concrètes: bases de l’informatique, Paris, Vuibert, , 2e ed.xiv + 688 p. ((ISBN 978-2-7117-4824-2), p. 88-89.
  2. Raymond T. bouteille, « La définition euclidienne des fonctions div et mod », Transactions ACM vers les langages et systèmes de programmation, ACM Press (New York, NY, États-Unis), vol. 1, nLe 2, , p. 127-144 ((EST CE QUE JE 10.1145 / 128861.128862, Lire en ligne), p. 128-129.
  3. Graham, Knuth et Patashnik 2003, p. 89 et note p. 88
  4. Graham, Knuth et Patashnik 2003, p. 88-89 pour l’opération binaire, p.143 pour la congruence. Les auteurs n’utilisent pas le terme Modulo que pour la relation de congruence, mais appelez l’opération binaire « mod ».
  5. « Pourquoi -22 // 10 renvoie -3? »
  6. (dans le) Michaël Van Canneyt, « Manuel de référence pour Free Pascal, version 2.6.0 », .
  7. Depuis ISO C99. Dans l’ISO C90, dans le cas d’un opérande négatif, le signe du résultat était défini par l’implémentation.



Source link

Recent Posts