byte[] array to uint16_t

andreas_:

  byte high = (val >> 8) & 0xff;

Or is there a more efficient way?

the low order bits of val end up pushed off into the trash bin, so no need to & 0xFF...