가끔 코딩하다 보면 버퍼에 들어있는 내용 중
4바이트만 뽑아서 int 형 변수로 저장해야 할 일이 생깁니다.
간단한 비트 연산이지만.. 급하면 또 생각이 안나죠 -_-;

int n = (data[0] << 24) + ((data[1] & 0xFF) << 16) + ((data[2] & 0xFF) << 8) + (data[3] & 0xFF);


한 바이트의 비트를 역순으로 변경하는 간단한(?) 매크로.

#define reverse(b1) ((b1 * 0x0802LU & 0x22110LU) | (b1 * 0x8020LU & 0x88440LU)) * 0x10101LU >> 16;