Konwertuj 2 znaki na 1 int [zamknięte]

Mam 2 znaki: HIGH i LOW i chciałbym je przekonwertować na int odpowiadający HIGH + 2 lewym bitom z LOW.

Próbowałem czegoś takiego:

unsigned char high;
unsigned char low;
high = 128; // 10000000
low= 128; // 10000000
int result; (should be high 10000000 + 2 left bites of low 10 = 1000000010)
// To do
return result;

Edytowane dla większej przejrzystości.

Rozwiązaniem, które wybrałem jest:

return high*4 + (low >> (CHAR_BIT - 2));

questionAnswers(2)

yourAnswerToTheQuestion