64 ビット整数内のビットを使用してフラグを格納します。
64ビット整数内の位置に関係なく、単一のビットが設定されているかどうかを知りたいです(特定のビットの位置は気にしません)。
boolean isOneSingleBitSet (long integer64)
{
return ....;
}
Bit Twiddling Hacks (by Sean Eron Anderson)を使用してビット数を数えることはできますが、1 つのビットが設定されているかどうかを検出する最も効率的な方法は何だろう...
私はいくつかの他の関連する質問を見つけました:
また、いくつかのウィキペディアのページ:
注意: 私のアプリケーションは Java ですが、他の言語を使用した最適化に興味があります...
EDIT : Lưu Vĩnh Phúcは、私の質問内の最初のリンクが既に答えを得ていることを指摘しました: セクションを参照してください。1 ビットが2 の累乗と同じであることを知りませんでした。