Чтобы очистить любой конкретный набор битов, вы можете использовать побитовое И с дополнением числа, которое имеет 1 в этих местах. В вашем случае, так как для числа 0xFFFF установлены 16 младших битов, вы можете использовать И с его дополнением:
b &= ~0xFFFF; // Clear lower 16 bits.
Если вы хотите установить эти биты, вы можете вместо этого использовать побитовое ИЛИ с числом, для которого установлены эти биты:
b |= 0xFFFF; // Set lower 16 bits.
И, если вы хотите перевернуть эти биты, вы можете использовать битовое XOR с числом, для которого установлены эти биты:
b ^= 0xFFFF; // Flip lower 16 bits.
Надеюсь, это поможет!