2

unsigned long に設定されたビット数を返す標準の Linux カーネル ビット操作マクロはありますか?

4

2 に答える 2

2

次を使用できます。

hweight_long

で機能するinclude/linux/bitops.h

それ以外の場合、LinuxカーネルはgccGNU拡張機能を使用し、gcc次の組み込みも提供します。

組み込み関数:int __builtin_popcount(unsigned int x)xの1ビット数を返します。

組み込み関数:int __builtin_popcountl(unsigned long)引数の型がunsigned longであることを除いて、__builtin_popcountと同様です。

http://gcc.gnu.org/onlinedocs/gcc/Other-Builtins.html

于 2013-01-16T19:23:34.473 に答える
0

タグにCを含めたので。ここでC指摘されているように、コードを使用して判断できます

https://stackoverflow.com/a/2709523/1952879

于 2013-01-16T19:23:46.113 に答える