logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

ffs, ffsl, ffsll - find first bit set in a word

Attributes

       For an explanation of the terms used in this section, see attributes(7).
       ┌─────────────────────────────────────────────────────────────────────────────┬───────────────┬─────────┐
       │ InterfaceAttributeValue   │
       ├─────────────────────────────────────────────────────────────────────────────┼───────────────┼─────────┤
       │ ffs(), ffsl(), ffsll()                                                      │ Thread safety │ MT-Safe │
       └─────────────────────────────────────────────────────────────────────────────┴───────────────┴─────────┘

Description

       The  ffs()  function  returns  the  position of the first (least significant) 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
       functions ffsll() and ffsl() do the same but take arguments of possibly different size.

Library

       Standard C library (libc, -lc)

Name

       ffs, ffsl, ffsll - find first bit set in a word

Return Value

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

See Also

memchr(3)

Linux man-pages 6.9.1                              2024-05-02                                             ffs(3)

Standards

ffs()  POSIX.1-2001, POSIX.1-2008, 4.3BSD.

       ffsl()
       ffsll()
              GNU.

Synopsis

#include<strings.h>intffs(inti);intffsl(longi);intffsll(longlongi);

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

       ffs():
           Since glibc 2.12:
               _XOPEN_SOURCE >= 700
                   || ! (_POSIX_C_SOURCE >= 200809L)
                   || /* glibc >= 2.19: */ _DEFAULT_SOURCE
                   || /* glibc <= 2.19: */ _BSD_SOURCE || _SVID_SOURCE
           Before glibc 2.12:
               none

       ffsl(), ffsll():
           Since glibc 2.27:
               _DEFAULT_SOURCE
           Before glibc 2.27:
               _GNU_SOURCE

See Also