1 /* Find the first set bit 2 * i.e. least signifigant 1 bit: 3 * 0 => 0 4 * 1 => 1 5 * 2 => 2 6 * 3 => 1 7 * 4 => 3 8 */ 9 10 int ffs(unsigned int mask)11ffs(unsigned int mask) 12 { 13 int i; 14 15 if (!mask) 16 return 0; 17 i = 1; 18 while (!(mask & 1)){ 19 i++; 20 mask = mask >> 1; 21 } 22 return i; 23 } 24