Der Typ uint8_t ist 8 Bit groß.
Der Port B hat 8 Eingänge, das Register PINB ist ebenfalls 8 Bit groß.
Jedes Bit steht für den Zustand eines Eingangs, also kannst Du alle 8 Eingangszustände in foo speichern.

askazo