Determine if an integer is divisible by 3 Your goal is to determine if a number is divisible by 3 without using conditionals. 
The input will be an unsigned 8 bit number from 0 to 255. Creativity encouraged!

You are ONLY allowed to use


Equality/Inequality (==, !=, &gt;, &lt;, &gt;=, &lt;=)
Arithmetic (+, -, x)
Logical Operators (! not, &amp;&amp; and, ||  or) 
Bitwise Operators (~ not, &amp; and, | or, ^ xor, &lt;&lt;, &gt;&gt;, &gt;&gt;&gt; arithmetic and logical left and right shifts)
Constants (it would be better if you kept these small)
Variable assignment


Output 0 if false, 1 if true.

Standard atomic code-golf rules apply. If you have any questions please leave them in the comments. Example methods here. A token is any of the above excluding constants and variables.
C - 2 tokens

int div3(int x) {
    return x * 0xAAAAAAAB &lt;= x;
}


Seems to work up to 231-1.

Credits to zalgo("nhahtdh") for the multiplicative inverse idea.