let mut x = i16::from_be_bytes([buffer[2], buffer[3]]); x <<= 4; x >>= 4; x