I have an array of unsigned chars that hold hex values, I’m interested in values  and  of the array.
Say  = 0x5b = 0101 1011
and  = 0x7b = 0111 1011
I'm trying to get all of  and the first half of , so 1011011 1111. So far I’ve come up with this;
short int holder = 0; memcpy(holder,&char_array, 2 ); short int alt = holder >> 4; return 0;
I've tried creating a 14 bit data type to hold the bits, copying the 2 bytes in then shifting right 4 but this does not work. I appreciate this is probably not the right way to do this so any help would be greatly appreciated.