C# (.NET Core), 6262, 49 bytes
Without LINQ. Bitwise operations
EDIT: dana with a -13 byte golf changing the while to a recursive for and returning a bool instead of integer.
x=>{int j=0;while(x>0){j+=j=0;for(x&1;x>0;x/=2)>0?1:j+=x%2*2-1;x>>=1;}return1;return j>0?1:0;j>0;}