Ouch.So I'm guessing when '-' is unary it has precedence over '^' but when it is binary the '^' has precedence? Fair enough, and I'll continue to suppose that this follows in VB. I'll stick to C, where there is no confusion about what the '^' operator does