Find first set とは

ソフトウェアでは、最初のセット(ffs)を見つけるか、最初に見つかったのは、符号なしマシンワードが与えられたときに、そのビットの最下位インデックスまたは位置をワード内に1にセットするビットオペレーションです。ほぼ同等の演算は、最下位1ビットに続く0ビットの数をカウントする末尾のゼロ(ctz)または末尾のゼロ(ntz)の数をカウントすることです。最上位セットビットのインデックスまたは位置を求める相補演算は、2進対数 log 2 x {\displaystyle \lfloor \log _{2}x\rfloor } を計算するため、log base 2です。これは、最上位1ビットに先行するゼロビットの数をカウントする、先行するカウント0(nz)または先行ゼロ(nlz)の数に密接に関係する。これらの4つの操作でもバージョンが無効になります。
 最下位ゼロビットのインデックスを識別する最初のゼロ(ffz)を見つける。末尾の1をカウントし、最下位のゼロビットに続く1ビットの数を数えます。最上位ビットに先行する1ビットの数を数える先頭ビットをカウントし、この演算は、2進対数の丸められたバージョンである最上位ゼロビットのインデックスを検出します。
ファーストセットの2つの一般的なバリエーションがあります.1つ目のビットのインデックス付けを開始するPOSIX定義です。ここでffsというラベルが付いています。また、ビットのインデックス付けを0で開始するバリアントです。これはctzと等価で、その名前によって呼び出されます。