ffs

       #include <strings.h>

       int ffs(int i);

       #include <string.h>

       int ffsl(long int i);

       int ffsll(long long int i);

   Feature Test Macro Requirements for glibc (see feature_test_macros(7)):

       ffs():
           Since glibc 2.12:
               _SVID_SOURCE || _BSD_SOURCE || _POSIX_C_SOURCE >= 200809L ||
               _XOPEN_SOURCE >= 700 ||
           Before glibc 2.12:
               none
       ffsl(), ffsll():
           _GNU_SOURCE

DESCRIPTION
       The ffs() function returns the position of the  first  (least  signifi-
       cant)  bit  set in the word i.  The least significant bit is position 1
       and the most significant position is, for example, 32 or 64.  The func-
       tions  ffsll()  and  ffsl()  do the same but take arguments of possibly
       different size.

RETURN VALUE
       These functions return the position of the first bit set, or  0  if  no
       bits are set in i.

ATTRIBUTES
       For   an   explanation   of   the  terms  used  in  this  section,  see
       attributes(7).

       +-----------------------+---------------+---------+
       |Interface              | Attribute     | Value   |
       +-----------------------+---------------+---------+
       |ffs(), ffsl(), ffsll() | Thread safety | MT-Safe |
       +-----------------------+---------------+---------+
CONFORMING TO
       ffs(): POSIX.1-2001, POSIX.1-2008, 4.3BSD.

       The ffsl() and ffsll() functions are glibc extensions.

NOTES
       BSD systems have a prototype in <string.h>.

SEE ALSO
       memchr(3)

COLOPHON
       This page is part of release 4.04 of the Linux  man-pages  project.   A
Man Pages Copyright Respective Owners. Site Copyright (C) 1994 - 2019 Hurricane Electric. All Rights Reserved.