32Bit-Zahl als Bit-Array / --> Einlesen eines Absolutwertgebers

Wenn Du die einzelnen Bits nacheinander (seriell) bekommst, kannst Du auch tatsächlich Bits schieben.
Kleines Beispiel:

int bits[20] = {1,0,1,1,0,0,1,0,0,0,1,1,1,0,1,0,0,1,1,1};

void setup() {
  Serial.begin(9600);
  long data = 0;
  for (int i = 0; i< 20; i++) 
    //alle Bits eins weiter schieben und aktuelles Bit dazu addieren
    data = ( data << 1 ) + bits[i];
  Serial.println(data,BIN);
}

void loop() {}