I would appreciate any donations. Wishlist or send e-mail type donations to maekawa AT daemon-systems.org.
FFS32(3) Library Functions Manual FFS32(3) NAME ffs32, ffs64, fls32, fls64 -- find first or last bit set SYNOPSIS #include <sys/bitops.h> int ffs32(uint32_t n); int ffs64(uint64_t n); int fls32(uint32_t n); int fls64(uint64_t n); DESCRIPTION The ffs32() and ffs64() functions find the first bit set in n and return the index of that bit. Conversely, the fls32() and fls64() functions find the last bit set in n, returning the index of the bit. The search always starts from the bit 1 (the least significant bit). If the argument n is zero, each function returns zero. IMPLEMENTATION NOTES The described functions are implemented as static inline functions in the <sys/bitops.h> header. The standard C library includes a more portable ffs(3) for user applications. EXAMPLES In the following example f = 3 and l = 7: uint32_t n = 0x44; /* 01000100 */ int f, l; f = ffs32(n); l = fls32(n); SEE ALSO bitops(3), bits(3), bitstring(3), ffs(3), setbit(9) HISTORY These functions first appeared in NetBSD 5.0. NetBSD 7.1.2 April 8, 2011 NetBSD 7.1.2