Une opération associative peut faire référence à l’un des éléments suivants:
1. En mathématiques, une opération associative est un calcul qui donne le même résultat quelle que soit la manière dont les nombres sont regroupés. L'addition et la multiplication sont toutes deux associatives, alors que la soustraction et la division ne le sont pas. Par exemple, regardez les calculs ci-dessous.
Associatif
2+ (2 + 5) = 9
(2 + 2) +5 = 9
Non associatif
4- (2-1) = 3
(4-2) -1 = 1
Dans les exemples supplémentaires, peu importe l'ordre dans lequel les chiffres sont ajoutés. Que ce soit en ajoutant 2 + 5 en premier, puis en ajoutant 2 ou en ajoutant 2 + 2 en premier, puis en ajoutant 5, le résultat est 9 et le rend associatif. D'autre part, la soustraction n'est pas associative, car le changement de regroupement modifie le résultat.
2. En programmation, une opération associative se produit lorsqu'aucun groupement n'est présent, où des opérateurs ayant la même priorité, ou qui seront évalués de gauche à droite ou inversement. Si ce n'est pas le cas dans le langage de programmation, il s'agira d'un opérateur spécial ou générera une erreur de syntaxe.
Par exemple, l'addition et la soustraction ont la même priorité et sont associatives à gauche. Ainsi, s’il n’ya pas de regroupement avec des parenthèses, les opérateurs sont évalués de gauche à droite. Par exemple, 4-3 + 1 est égal à 2, étant donné que 4-3 est calculé en premier, le résultat étant ajouté à 1. Pour modifier cet ordre, le programmeur doit regrouper les nombres pour calculer l'expression souhaitée. Si le programmeur souhaite effectuer d’abord le calcul 3 + 1, vous pouvez le regrouper entre parenthèses, comme indiqué ci-dessous.
4- (3 + 1)
Ceci oblige à calculer 3 + 1 en premier, avec le résultat (4) soustrait de 4, donnant zéro.
Avec la plupart des langages, les opérateurs d'addition, de soustraction, de multiplication et de division sont associatifs à gauche, tandis que les opérateurs d'affectation, conditionnels et d'exponentiation sont associatifs à droite.
Opérateur, Termes de programmation