参考:
http://blog.csdn.net/jakee304/article/details/2152655
unsigned char inv_bits(unsigned char c)
{
// 原始位序: 7 6 5 4 3 2 1 0
// 位序变为: 6 7 4 5 2 3 0 1
c = (c & 0xaa) >> 1 | (c & 0x55) << 1;
// 位序变为: 4 5 6 7 0 1 2 3
c = (c & 0xcc) >> 2 | (c & 0x33) << 2;
// 位序变为: 0 1 2 3 4 5 6 7
c = (c & 0xf0) >> 4 | (c & 0x0f) << 4;
return c;
}