#include <stdio.h>

int getByte(int x, int n);

int main()
{
    int x = 0xAABBCCDD;
    int n;

    for (n=0; n<=3; n++) {
        printf("byte %d of 0x%08X is 0x%08X\n", n, x, getByte(x,n));
    }
    return 0;
}

// extract byte n from word x
// bytes numbered from 0 (LSByte) to 3 (MSByte)
int getByte(int x, int n)
{
    return (x >> (n << 3)) & 0xFF;
}
