Operators have this priority, at least, the C .
I agree with the order because it is the same relative order as the relative order of arithmetic operators, which is most similar to ( +, *and negation).
& vs * | vs + :
A B | A&B A*B | A|B A+B
0 0 | 0 0 | 0 0
0 1 | 0 0 | 1 1
1 0 | 0 0 | 1 1
1 1 | 1 1 | 1 2
:
~A = -A - 1