// get the greatest power of two that is a divisor of n:
return n&-n;
// swap two integers a and b:
a^=b^=a^=b;
a^=b, b^=a, a^=b;
// check whether a (nature number > 1) is a power of two or not:
return ( ! ( x & (x-1)));
return (x&-x) == x;
// count number of bits set in v:
for( int i=0; v; i++)
v &= v - 1;
// copy two char array
while(*s++ = *t++);
// binary search
int left = 0, right = N;
for( int mid=(left+right)>>1; right-left>1; mid = left + (right-left)>>1)
(arr[mid] > x ? left : right ) = mid;
return right;