Как-то так?
static ushort Transform(ushort value){
return (ushort)(value & 0x0C/*00001100*/ | 0xA2/*10100010*/);
}
Это преобразует все ваши входы сэмплов в выходы сэмплов.Чтобы быть более общим, вы хотели бы что-то вроде этого:
static ushort Transform(ushort input, ushort mask, ushort bitsToSet){
return (ushort)(input & mask | bitsToSet & ~mask);
}
И вы бы назвали это с помощью:
Transform(input, 0x0C, 0xA2);
Для эквивалентного поведения первой функции.