Is it a Cyclops number? "Nobody" knows! Task:

Given an integer input, figure out whether or not it is a Cyclops Number.

What is a Cyclops number, you may ask?  Well, it's a number whose binary representation only has one 0 in the center!

Test Cases:

Input | Output | Binary  | Explanation
--------------------------------------
0     | truthy | 0       | only one zero at "center"
1     | falsy  | 1       | contains no zeroes
5     | truthy | 101     | only one zero at center
9     | falsy  | 1001    | contains two zeroes (even though both are at the center)
10    | falsy  | 1010    | contains two zeroes
27    | truthy | 11011   | only one zero at center
85    | falsy  | 1010101 | contains three zeroes
101   | falsy  | 1100101 | contains three zeroes
111   | falsy  | 1101111 | only one zero, not at center
119   | truthy | 1110111 | only one zero at center


Input:


An integer or equivalent types. (int, long, decimal, etc.)  
Assume that if evaluating the input results in an integer overflow or other undesirable problems, then that input doesn't have to be evaluated.


Output:


Truthy or falsy.
Truthy/falsy output must meet the used language's specifications for truthy/falsy.  (e.g. C has 0 as false, non-zero as true)


Challenge Rules:


Input that is less than 0 is assumed to be falsy and thus does not have to be evaluated.
If the length of the binary representation of the number is even, then the number cannot be a Cyclops number.


General Rules:


This is code-golf, so the shortest answers in bytes wins!.
Default loopholes are forbidden.
Standard rules apply for your answer with default I/O rules.




This is my first Programming Puzzles &amp; Code Golf challenge, so any feedback on how I should improve would be much appreciated!
Python 2, 30 bytes



lambda n:(2*n^2*n+3)**2==8*n+9


Try it online!

Note that 2*n^2*n+3 is the bitwise xor of 2*n and 2*n+3, because that's Python's operator precedence.