Updated: 2022/Sep/29

Please read Privacy Policy. It's for your privacy.


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 10.99                     April 8, 2011                    NetBSD 10.99