Почему в Си сдвиги имеют меньший приоритет, чем сложение и вычитание?

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

Я вижу, что это может быть удобно в C++, когда используется << для отправки вывода в ostream, но, конечно, это не может быть использовано для объяснения того, как порядок был изначально зафиксирован в C.

5
задан alk 31 October 2015 в 08:14
поделиться