Making a byte out of bits (from two other bytes)?

I used PINB and PINC to monitor eight pins, (because I needed to use interrupts I couldn't use PIND).
Bits 5-0 in PINB make up the first six bits, and Bits 4 and 3 in PINC make up the last two bits of the byte returned from a sensor. Since PINB and PINC are separate bytes, how do I make a new byte (with the bits in the appropriate places) from them?

one of these two, depending what "appropriate places" actually means:

  ((PINC & 0x18) << 3) | (PINB & 0x3F)

  (PINB << 2) | ((PINC & 0x18) >> 3)