public class Program {
public static final int INT_SIZE = Integer.SIZE;
public static int getLowestOrderSetBit(int number) {
int lowestOrderBitIndex = -1;
for (int i = 0; i < INT_SIZE; i++) {
if (((number >> i) & 1) == 1) {
lowestOrderBitIndex = i;
break;
}
}
return lowestOrderBitIndex;
}
public static void main(String[] args) {
int number = 1688; // 11010011000
int lowestOrderBitIndex = getLowestOrderSetBit(number);
System.out.println(lowestOrderBitIndex);
}
}
/*
run:
3
*/