HIGH と LOW の 2 つの文字があり、それらを HIGH + LOW の左 2 ビットに対応する int に変換したいと考えています。
私は次のようなものを試しました:
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;
より明確にするために編集されました。
私が選んだ解決策は次のとおりです。
return high*4 + (low >> (CHAR_BIT - 2));