64 ビットで構成されるビット フィールドがあります。
long bitfield = 0;
次のように、特定のインデックスのビットを設定できます。
void Set(long index)
{
bitfield |= 1L << (int)(index % 64);
}
つまり、インデックスが 0、64、128、... の場合はビット 0 が設定され、インデックスが 1、65、129、... の場合はビット 1 が設定されます。
質問:インデックスとカウント (または下位インデックスと上位インデックス) が与えられた場合、ループを使用せずにこの範囲内のすべてのインデックスのビットを設定するにはどうすればよいですか?