c obtener enésimo byte de entero

Sé que puedes obtener el primer byte usando

int x = number & ((1<<8)-1); 

o

 int x = number & 0xFF; 

Pero no sé cómo obtener el n-ésimo byte de un entero. Por ejemplo, 1234 es 00000000 00000000 00000100 11010010 como un entero de 32 bits ¿Cómo puedo obtener todos esos bytes? el primero sería 210, el segundo sería 4 y los dos últimos serían 0.