FFS32(3) BSD 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() func-
tions 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 por-
table 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.
BSD
April 8, 2011 BSD