00001 /* ffs -- Find the first bit set in the parameter 00002 00003 @deftypefn Supplemental int ffs (int @var{valu}) 00004 00005 Find the first (least significant) bit set in @var{valu}. Bits are 00006 numbered from right to left, starting with bit 1 (corresponding to the 00007 value 1). If @var{valu} is zero, zero is returned. 00008 00009 @end deftypefn 00010 00011 */ 00012 00013 int 00014 ffs (valu) 00015 register int valu; 00016 { 00017 register int bit; 00018 00019 if (valu == 0) 00020 return 0; 00021 00022 for (bit = 1; !(valu & 1); bit++) 00023 valu >>= 1; 00024 00025 return bit; 00026 } 00027
1.5.6