для изменения любых произвольных битов на другие:
uint32_t changebits(uint32_t val, uint32_t mask, uint32_t newvalue)
{
val &= ~mask;
val |= (newvalue & mask);
return val
}
changebits(0xe323da98, 0b00000110011000010100000100000000, 0xde45ab67);
он установит только биты, заданные вторыми параметрами, в те же биты из третьего параметра.
в вашем случае
changebits(0xbc61, 0xff, 0xaa);