Manpages

名 前

ffs, ffsl, ffsll − ワ ー ド の 中 で 最 初 に セ ッ ト さ れ て い る ビ ッ ト の 検 出

書 式

#include <strings.h>

int ffs(int i);

#include <string.h>

int ffsl(long int i);

int ffsll(long long int i);

glibc 向 け の 機 能 検 査 マ ク ロ の 要 件 (feature_test_macros(7) 参 照 ):

ffs():

glibc 2.10 以 降 :

_SVID_SOURCE || _BSD_SOURCE || _POSIX_C_SOURCE >= 200809L || _XOPEN_SOURCE >= 700 ||

glibc 2.10 よ り 前 :

none

ffsl(), ffsll():

_GNU_SOURCE

説 明

ffs() 関 数 は 、 ワ ー ド i の 中 で 最 初 に セ ッ ト さ れ て い る (最 下 位 )ビ ッ ト の 位 置 を 返 す 。 最 下 位 ビ ッ ト の 位 置 は 1、 最 上 位 ビ ッ ト の 位 置 は 例 え ば 32 や 64 で あ る 。 ffsll() 関 数 と ffsl() 関 数 も 同 様 だ が 、 異 な っ た サ イ ズ の 引 数 を と る 。

返 り 値

こ れ ら の 関 数 は 、 最 初 に セ ッ ト さ れ て い る ビ ッ ト の 位 置 を 返 し 、 i の ど の ビ ッ ト も セ ッ ト さ れ て い な け れ ば 0 を 返 す 。

属 性

マ ル チ ス レ ッ デ ィ ン グ (pthreads(7) 参 照 ) 関 数 ffs(), ffsl(), ffsll() は ス レ ッ ド セ ー フ で あ る 。

準 拠

ffs(): 4.3BSD, POSIX.1−2001. 関 数 ffsl() と ffsll() は glibc に よ る 拡 張 で あ る 。

注 意

BSD シ ス テ ム で は <string.h> に プ ロ ト タ イ プ が あ る 。

関 連 項 目

memchr(3)

こ の 文 書 に つ い て

こ の man ペ ー ジ は Linux man−pages プ ロ ジ ェ ク ト の リ リ ー ス 3.79 の 一 部 で あ る 。 プ ロ ジ ェ ク ト の 説 明 と バ グ 報 告 に 関 す る 情 報 は http://www.kernel.org/doc/man−pages/ に 書 か れ て い る 。