What is the meaning of (number) & (-number)? I have searched it but was unable to find the meaning

I want to use i & (-i) in for loop like:

for (i = 0; i <= n; i += i & (-i))
c++ c
Edit
Report