different Rightmost Bit
int differentRightmostBit(int n, int m) { return (n^=m) & -n ; } int differentRightmostBit(int n, int m) { return Integer.lowestOneBit(n^m) ; }