Что вы действительно просите, так это если установлены старшие 4 бита. Вы можете сделать это следующим образом:
uint32_t left_align(uint32_t value)
{
if (value) {
while ((value & 0xF0000000U) == 0) {
value <<= 4;
}
}
return value;
}
Пока значение не равно нулю, а 4 старших разряда равны 0, сдвигайте влево на 4, пока они не станут ненулевыми.