FFS(3) | Library Functions Manual | FFS(3)

# NAME

`ffs` `ffsl` `ffsll` — find first bit set in a bit string

# LIBRARY

Standard C Library (libc, -lc)

# SYNOPSIS

`#include <strings.h>`

int
`ffs`(int value);

`ffsl`(long value);

`ffsll`(long long value);

# DESCRIPTION

The `ffs`(), `ffsl`(), and `ffsll`() functions find the first bit set in value and return the index of that bit. Bits are numbered starting from 1, starting at the right-most bit. A return value of 0 means that the argument was zero.

# SEE ALSO

bitstring(3), ffs32(3), ffs64(3), popcount(3)

# STANDARDS

The `ffs`() function conforms to IEEE Std 1003.1-2001 (“POSIX.1”). The `ffsl`() and `ffsll`() functions conform to IEEE Std 1003.1-2024 (“POSIX.1”).

# HISTORY

The `ffs`() function appeared in 4.3BSD. The prototype for it existed previously in the `<string.h>` header before it was moved to `<strings.h>` for POSIX compliance.

November 1, 2024 | NetBSD 11.0