FFS(3) Library Functions Manual FFS(3)

ffs, ffsl, ffsll, fls, flsl, flsllfind first or last bit set in a bit string

Standard C Library (libc, -lc)

#include <strings.h>

int
ffs(int value);

int
ffsl(long value);

int
ffsll(long long value);

int
fls(int value);

int
flsl(long value);

int
flsll(long long value);

The (), () and () functions find the first (least significant) bit set in value and return the index of that bit.

The (), () and () functions find the last (most significant) bit set in value and return the index of that bit.

Bits are numbered starting at 1, the least significant bit. A return value of zero from any of these functions means that the argument was zero.

bitstring(3)

The ffs() function appeared in 4.3BSD. Its prototype existed previously in <string.h> before it was moved to <strings.h> for IEEE Std 1003.1-2001 (“POSIX.1”) compliance.

The ffsl(), fls() and flsl() functions appeared in FreeBSD 5.3. The ffsll() and flsll() functions appeared in FreeBSD 7.1.

September 29, 2012 macOS 15.2