Où est-ce que modulo vient dans l'ordre mathématique de fonctionnement? Je suppose que c'est semblable à la division, mais avant ou après?Modulo dans l'ordre d'opération
Répondre
Cela dépend de la langue, mais dans les langues de style C %
est le même precedence que *
et /
. Cela signifie que s'il apparaît dans la même expression (sans parenthèses), l'ordre dépend du associativity. Dans ce cas, %
est généralement associé à gauche, de sorte que les opérateurs seront exécutés dans l'ordre de gauche à droite.
Au moins en C++ et Java, modulo (%
) a le même niveau de priorité que la multiplication et la division.
Puisque %
, /
et *
sont (généralement) associatifs à gauche, ils sont évalués de gauche à droite.
(Merci à Mark pour remarquer operator associativity)
'En l'absence de parenthèses, les opérateurs du même niveau de priorité sont tout simplement évalué de gauche à droite. »Pas toujours. Voir Associativité de l'opérateur: http://en.wikipedia.org/wiki/Operator_associativity –
L'opérateur modulo%, tel qu'il est utilisé dans de nombreux langages de programmation informatique, n'est pas commun en mathématiques pures. Il s'agit donc plutôt de savoir comment l'opérateur est traité dans les langages de programmation, et cela diffère selon les langages.
Si votre question porte sur les langages de programmation alors oui,% a le même ordre que * et/
Voir this table.
Bon pour savoir la plupart des langues ont tendance à suivre le même standard. – Mau
Je downvote si je pouvais. Le lien pourrait pourrir à tout moment au gré des éditeurs/modérateurs wikipedia. Meher est bien meilleur. –
Pour C++, il a la même priorité que la multiplication et la division. Prenez-les comme ils viennent, de gauche à droite.
Les niveaux de priorité relative des opérateurs trouvés dans de nombreuses langues de style C sont les suivantes:
a% b == ((a/b) -floor (a/b)) * b // Utilise une combinaison de multiplication, division, soustraction et fonction de plancher: o –