Re the bit operators << >> & | C gives the shift operators the higher precedence but they are all at the same level for sqlite (which I think I'm right in saying follows the SQL convention). Can it be assumed they will always be evaluated in the (left to right) order they appear in the statement? e.g. select 5 & 1 << 1 returns 2 whereas in c it would return 0.