О приоритетах-2

Jan 10, 2024 13:28


Оказывается, в Microsoft Excel приоритет унарного минуса выше всего на свете, и поэтому -x*x - это (-x)*(x), а -x^2 - это (-x)^2, то есть результаты закономерно разные. john-jack утверждает, что это вообще всегда так и должно быть очевидно каждому программисту, но мой опыт протестует.
Давайте проверим.
Для начала - легендарный GW-BASIC, из которого вырос ( Read more... )

бред, excel, ЭВМ, обмен опытом

Leave a comment

polosatiy81 January 10 2024, 10:49:11 UTC

Javascript
-x*x == -4
-x**2 - SyntaxError, необходимы скобки для правильного вычисления

Reply

hardsign January 10 2024, 10:54:43 UTC
Офигеть.
Какое счастье, что я не пишу на JavaScript...

Reply

polosatiy81 January 10 2024, 11:40:43 UTC

Ну в целом, это можно было бы принять за заботу о пользователе, раз в разных языках оно выполняется по разному, то в явном виде писать (-х)**2 и -(х**2) - выглядит неплохой идеей)

Если конечно забыть о том, какие интересные результаты можно получать за счет крайне неочевидного приведения типов в операциях. И вишенкой на торте, одновременно с запретом -х**2, выражение --х**2 - вполне себе валидное в js)

Reply

ackforstpdcmnts January 12 2024, 10:15:09 UTC
А я в шоке от того, что джаваскрипт такой педант. Я думал, он как Питон: сожрет всё, а ты потом сиди думай, почему он понял тебя именно так.

Reply

hardsign January 12 2024, 11:38:14 UTC
Действительно, поведение не характерное. Но до perl/C++/brainfuck всё равно далеко :))

Reply


Leave a comment

Up