Prioritatea operațiunilor

Secvența operațiilor în programare este succesiunea operațiilor (sau direcția de calcul)  stabilită de sintaxa unui anumit limbaj de programare , care este implementată atunci când operațiunile au aceeași prioritate și nu există o indicație explicită (folosind paranteze) a ordinea în care sunt efectuate. Asociativitatea (din lat. associatio ) - o proprietate a operațiunilor care vă permite să restabiliți succesiunea executării lor în absența indicațiilor explicite ale comenzii cu prioritate egală; în același timp, se face distincția între asociativitatea stângă , în care expresia este evaluată de la stânga la dreapta, și asociativitatea dreaptă , de la dreapta la stânga. Operatorii corespunzători se numesc asociativ stânga și asociativ dreapta.  

De exemplu, în Python , majoritatea operațiilor sunt asociative la stânga, în timp ce exponențiația este asociativă la dreapta:

Asociativitatea la dreapta (evaluarea expresiei de la dreapta la stânga), exponențiația în Python:

x ** y ** z == x ** ( y ** z ) 2 ** 2 ** 3 == 2 ** ( 2 ** 3 ) == 256 ( 2 ** 2 ) ** 3 == 64

Asociativitatea stângă (evaluarea expresiei de la stânga la dreapta), deplasare pe biți în Python:

x << y << z == ( x << y ) << z 2 << 2 << 3 == ( 2 << 2 ) << 3 == 64 2 << ( 2 << 3 ) == 2 << 16 == 131072

În C#, toate operațiile binare, cu excepția atribuirii, sunt lăsate asociative:

8 / 4 / 2 == ( 8 / 4 ) / 2

Vezi și