Modèle:Mod/Documentation

Une page de Wikipédia, l'encyclopédie libre.

Utilisation[modifier le code]

Ce modèle calcule l’opération mathématique modulo, c’est-à-dire le reste de la division entière d’un ''dividende'' réel quelconque par un ''modulus'' réel non nul. Ce modèle ne doit s'utiliser que dans des cas très spécifique (est un doublon d'une Parse Functions), consultez la documentation avant utilisation.

Paramètres du modèle

ParamètreDescriptionTypeÉtat
Dividende1

aucune description

Chaîneobligatoire
Modulus2

aucune description

Chaîneobligatoire

La valeur retournée est toujours nulle ou du même signe que le modulus, et sa valeur absolue est toujours inférieure à celle du modulus. Cependant, ce modèle retourne le dividende lui-même si le modulus est nul (ce modèle ne devrait jamais retourner une erreur de division par zéro), de sorte que dans tous les cas, les résultats retournés par ce modèle ou le modèle {{Div}} avec les mêmes paramètres sont complémentaires et permettent de reconstituer le dividende exactement).

Quand utiliser ce modèle ?[modifier le code]

Ce modèle fait la plupart du temps double-emploi avec le mot-clé mod des Parser Functions. Puisqu'il est plus lourd, il ne faut l'utiliser que dans les cas suivants :

  • le dividende est très grand ;
  • on souhaite un résultat réel à partir d'opérandes réels (par exemple valeurs de congruence d'un calcul cyclique, calendaire ou trigonométrique) ;
  • le dividende est négatif[1].

Différences entre ce modèle et le mot-clé mod des ParserFunctions[modifier le code]

  Avec ce modèle Avec le mot-clé des ParserFunctions
Opérandes de valeur non entière gérés (double précision) tronqués d'abord en entiers (sur 32 bits signés)
valeur minimale négative celle d'un nombre double précision PHP_INT_MIN = −2 147 483 648
(sinon résultat de valeur et signe indéterminé)
valeur maximale positive celle d'un nombre double précision PHP_INT_MAX = 2 147 483 647
(sinon résultat de valeur et signe indéterminé)
Valeur retournée signe toujours le signe du modulus (en général fixe) le signe du dividende seulement si les paramètres sont dans les bornes
si le modulus est nul valeur du dividende erreur (division par zéro)

Syntaxe[modifier le code]

{{Mod|1=dividende|2=modulus}}

Exemples[modifier le code]

Avec un modulus entier et positif[modifier le code]

  • ({{Mod|12|10}}) + ({{Div|12|10}})*10 = (2) + (1)*10 = "12".
  • ({{Mod|10.1|10}}) + ({{Div|10.1|10}})*10 = (0.1) + (1)*10 = "10.1".
  • ({{Mod|10|10}}) + ({{Div|10|10}})*10 = (0) + (1)*10 = "10".
  • ({{Mod|2|10}}) + ({{Div|2|10}})*10 = (2) + (0)*10 = "2".
  • ({{Mod|0|10}}) + ({{Div|0|10}})*10 = (0) + (0)*10 = "0".
  • ({{Mod|-2|10}}) + ({{Div|-2|10}})*10 = (8) + (-1)*10 = "-2".
  • ({{Mod|-10|10}}) + ({{Div|-10|10}})*10 = (0) + (-1)*10 = "-10".
  • ({{Mod|-10.1|10}}) + ({{Div|-10.1|10}})*10 = (9.9) + (-2)*10 = "-10.1".
  • ({{Mod|-12|10}}) + ({{Div|-12|10}})*10 = (8) + (-2)*10 = "-12".

Avec un modulus entier et négatif[modifier le code]

  • ({{Mod|12|-10}}) + ({{Div|12|-10}})*-10 = (-8) + (-2)*-10 = "12".
  • ({{Mod|10.1|-10}}) + ({{Div|10.1|-10}})*-10 = (-9.9) + (-2)*-10 = "10.1".
  • ({{Mod|10|-10}}) + ({{Div|10|-10}})*-10 = (0) + (-1)*-10 = "10".
  • ({{Mod|2|-10}}) + ({{Div|2|-10}})*-10 = (-8) + (-1)*-10 = "2".
  • ({{Mod|0|-10}}) + ({{Div|0|-10}})*-10 = (0) + (-0)*-10 = "0".
  • ({{Mod|-2|-10}}) + ({{Div|-2|-10}})*-10 = (-2) + (0)*-10 = "-2".
  • ({{Mod|-10|-10}}) + ({{Div|-10|-10}})*-10 = (0) + (1)*-10 = "-10".
  • ({{Mod|-10.1|-10}}) + ({{Div|-10.1|-10}})*-10 = (-0.1) + (1)*-10 = "-10.1".
  • ({{Mod|-12|-10}}) + ({{Div|-12|-10}})*-10 = (-2) + (1)*-10 = "-12".

Avec un modulus non entier et positif[modifier le code]

  • {{Mod|21.5|10.5}} = "0.5".
  • {{Mod|21.1|10.5}} = "0.1".
  • {{Mod|21|10.5}} = "0".
  • {{Mod|20.9|10.5}} = "10.4".
  • {{Mod|11|10.5}} = "0.5".
  • {{Mod|10.6|10.5}} = "0.1".
  • {{Mod|10.5|10.5}} = "0".
  • {{Mod|10.1|10.5}} = "10.1".
  • {{Mod|10|10.5}} = "10".
  • {{Mod|2|10.5}} = "2".
  • {{Mod|0|10.5}} = "0".
  • {{Mod|-2|10.5}} = "8.5".
  • {{Mod|-10|10.5}} = "0.5".
  • {{Mod|-10.1|10.5}} = "0.4".
  • {{Mod|-10.5|10.5}} = "0".
  • {{Mod|-10.6|10.5}} = "10.4".
  • {{Mod|-11|10.5}} = "10".
  • {{Mod|-20.9|10.5}} = "0.1".
  • {{Mod|-21|10.5}} = "0".
  • {{Mod|-21.1|10.5}} = "10.4".
  • {{Mod|-21.5|10.5}} = "10".

Avec un modulus nul[modifier le code]

  • ({{Mod|2|0}}) + ({{Div|2|0}})*0 = (2) + (0)*0 = "2".
  • ({{Mod|0|0}}) + ({{Div|0|0}})*0 = (0) + (0)*0 = "0".
  • ({{Mod|-2|0}}) + ({{Div|-2|0}})*0 = (8) + (0)*0 = "-2".

Notes[modifier le code]

  1. Il existe néanmoins des astuces, dont celle-ci (à n'utiliser que de manière limitée).

Voir aussi[modifier le code]

Liens internes[modifier le code]

Liens externes[modifier le code]