I had a controversy about what compilers \"think\" about this:
a = 8; b = !!a;
So, is b == 0x01 ? Is TRUE always
b == 0x01
TRUE
In teems of speed I think this is highly dependent on the compiler and processor you are using.
The longer expression would produce an executable 4 - 16 bytes larger.