| FFS32(3) | Library Functions Manual | FFS32(3) |
ffs32, ffs64,
fls32, fls64 —
find first or last bit set
#include
<sys/bitops.h>
int
ffs32(uint32_t
n);
int
ffs64(uint64_t
n);
int
fls32(uint32_t
n);
int
fls64(uint64_t
n);
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.
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.
In the following example f = 3 and l = 7:
uint32_t n = 0x44; /* 01000100 */ int f, l; f = ffs32(n); l = fls32(n);
These functions first appeared in NetBSD 5.0.
| April 8, 2011 | NetBSD 11.0 |