ffs.c 249 B

1234567891011121314151617181920212223
  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. int
  10. ffs(unsigned int mask)
  11. {
  12. int i;
  13. if (!mask)
  14. return 0;
  15. i = 1;
  16. while (!(mask & 1)){
  17. i++;
  18. mask = mask >> 1;
  19. }
  20. return i;
  21. }