Здравствуйте, B0FEE664, Вы писали:
BFE>Для выражения x = v + u + z можно подобрать такие v + u + z, что в зависимости от порядка выполнения операций промежуточный результат может как оставаться в пределах или же выходить за пределы. В стандарте есть разъяснения по этому поводу.
BFE>BFE>5 [Note 4 : The implementation can regroup operators according to the usual mathematical rules only where the
BFE>operators really are associative or commutative.41 For example, in the following fragment-*
BFE>Вывод: порядок зависит от архитектуры.
Я все же склонен рассматривать это как особый случай и не торопился бы обобщать. В общем же случае порядок выполнения операций зависит и от приоритетов, и от ассоциативностей. Например, в выражении a — b + c компилер сначала выполнит вычитание и только потом сложение, но ни как не наоборот, хотя приоритеты у сложения и вычитания одинаковы. И это только потому, что обе эти операция являются левоассоциативными. То же самое с умножением и делением.