Improved Logic Gates.

Thanks MarkT,

Firstly you can use & and | rather than && and || (which may compile to conditional tests and jumps rather than
ALU operations). digitalRead() returns 0 or 1 (== LOW or HIGH), guaranteed.

I am not there yet ( my cheat sheet shows & as Pointer access and Bitwise operators )

The other point is that a hardware version is OK in a 12v or whatever circuit !