byte con stato dei pin input

DjP4nd4:
Alla fine lavorando con bitSet() e bitClear() ho fatto così

Puoi semplificare con un for e un vettore anche se i numeri dei non sono vicini e se azzeri prima la temp_code la parte else non serve:
nell'esempio mio suppongo bit0,bit1 siano costanti bit0=2, bit1=3 etc.

                 //   0,   1,   2,   3,   4,   5,   6,   7    // indice array => posizione bit
byte pinArray[8]={bit0,bit1,bit2,bit3,bit4,bit5,bit6,bit7};   // per ogni cella indico il pin che mi serve
void loop() {
  temp_code=0; // parto tutti a zero, else non serve più
  for(byte pin=0;pin<=7;pin++) {
    if (digitalRead( pinArray[pin] ) == HIGH){
      bitSet(temp_code, pin);
    }
  }