ビットを探す ffs と fls 関数 ― 2019年05月03日 13時53分47秒
% cat bits.c
#include <strings.h>
#include <stdio.h>
int main()
{
int bits = 16 + 2;
printf( "%d\n", bits );
for( int i = 7; i >= 0; i-- )
printf( "%c", ( bits & ( 1 << i ) ? '1' : '0' ) );
printf( "\n" );
printf( "ffs %d\n", ffs( bits ) );
printf( "fls %d\n", fls( bits ) );
return 0;
}
% cc bits.c
% ./a.out
18
00010010
ffs 2
fls 5
%
なお、long 型には l が一つ付いた、ffsl と flsl 関数があり、long long 型には l が二つ付いた ffsll と flsll 関数がある。
最近のコメント