Оказывается, в Microsoft Excel приоритет унарного минуса выше всего на свете, и поэтому -x*x - это (-x)*(x), а -x^2 - это (-x)^2, то есть результаты закономерно разные.
john-jack утверждает, что это вообще всегда так и должно быть очевидно каждому программисту, но мой опыт протестует.
Давайте проверим.
Для начала - легендарный GW-BASIC, из которого вырос
(
Read more... )
Javascript
-x*x == -4
-x**2 - SyntaxError, необходимы скобки для правильного вычисления
Reply
Какое счастье, что я не пишу на JavaScript...
Reply
Ну в целом, это можно было бы принять за заботу о пользователе, раз в разных языках оно выполняется по разному, то в явном виде писать (-х)**2 и -(х**2) - выглядит неплохой идеей)
Если конечно забыть о том, какие интересные результаты можно получать за счет крайне неочевидного приведения типов в операциях. И вишенкой на торте, одновременно с запретом -х**2, выражение --х**2 - вполне себе валидное в js)
Reply
Reply
Reply
Leave a comment