unsigned char 型のa,bのそれぞれ上位5bitと3bitを合成した変数を使用したいのですがのような方法があるでしょうか

また、aとbの値が変更されたとき、その合成された変数の値も変更されるようにすることは可能でしょうか?