Find First Set

In software, find first set (ffs) or find first one is a bit operation that, given an unsigned machine word, identifies the least significant index or position of the bits set to one in the word. A nearly equivalent operation is count trailing zeros (ctz) or number of trailing zeros (ntz), which counts the number of zero bits following the least significant one bit. The complementary operation that finds the index or position of the most significant set bit is log base 2, so called because it computes the binary logarithm . This is closely related to count leading zeros (clz) or number of leading zeros (nlz), which counts the number of zero bits preceding the most significant one bit. These four operations also have negated versions:

  • find first zero (ffz), which identifies the index of the least significant zero bit;
  • count trailing ones, which counts the number of one bits following the least significant zero bit.
  • count leading ones, which counts the number of one bits preceding the most significant zero bit;
  • The operation that finds the index of the most significant zero bit, which does not have a common name.

There are two common variants of find first set, the POSIX definition which starts indexing of bits at 1, herein labelled ffs, and the variant which starts indexing of bits at zero, which is equivalent to ctz and so will be called by that name.

Read more about Find First Set:  Examples, Hardware Support, Tool and Library Support, Properties and Relations, Algorithms, Applications

Famous quotes containing the words find and/or set:

    With only one life to live we can’t afford to live it only for itself. Somehow we must each for himself, find the way in which we can make our individual lives fit into the pattern of all the lives which surround it. We must establish our own relationships to the whole. And each must do it in his own way, using his own talents, relying on his own integrity and strength, climbing his own road to his own summit.
    Hortense Odlum (1892–?)

    I can add colors to the chameleon,
    Change shapes with Proteus for advantages,
    And set the murderous Machiavel to school.
    William Shakespeare (1564–1616)