Почему в C++ приоритет сравнения выше, чем побитовых логичеких операций?
Например, x & 8 != 0 равносильно x & (8 != 0), а не (x & 8) != 0. В паскале другой порядок приоритетов. Хотя там есть свои неудобства из-за того, что нет отдельных побитовых операций.
Чем был обусловлен выбор такого порядка приоритетов? Может, так легче сравнивать какие-то битовые маски или что?
kloppspb: суть вопроса не в сравнении языков, а в том, почему выбрали такой, на мой взгляд, неудобный и неестественный порядок, который может привести к ошибкам. Кстати, сравнение присваивание =, которое в условных операторах путается с ==, тоже неприятный источник неожиданных ошибок.