Задано 4 байтовое число, с 10 по 4 биты сдвинуть влево на 3 разряда.
Считая младший бит с номером 0, примерно так (не компилировал, просто идея).
unsigned int shift4_10(unsigned int x)
{
unsigned int b = x & 0x7F0;
unsigned int r = ((b << 3)|(b>>4)) &0x7F0;
return (x&~0x7F0)|r;
}
Тот случай, когда проще написать решение, чем объяснить словами, как решать... :(
Сборка персонального компьютера от Artline: умный выбор для современных пользователей