30
Python, 22 bytes
lambda N:N-1&1-N>N**.5
This is a port of my Jelly answer. Test it on Ideone.
How it works
Let j be a strictly positive integer. j + 1 toggles all trailing set bits of j and the adjacent unset bit. For example, 100112 + 1 = 101002.
Since ~j = -(j + 1) = -j - 1, -j = ~j + 1...