エスパー

typedef union {
unsigned long long a;
unsigned char b[8];
} D8;

unsigned long long swap(D8 s) {
int i;
D8 tmp;
for(i=0;i<8;i++) tmp.b[i] = s.b[8-1-i];
return tmp.a;
}