首页 > 代码库 > 如何高效把一字节的位对换, bit0和bit7,bit1和bit6,以此类推.

如何高效把一字节的位对换, bit0和bit7,bit1和bit6,以此类推.

unsigned char bytereverse(unsigned char val) {

        int i;

        for(i = 0; i < 4; i++) {
                if(((val &(1 << i)) >> i)^((val & (1 << (7 - i))) >> (7 - i)))
                        val ^= (1 << i) | (1 << (7 - i));
        }
        return val;
}

如何高效把一字节的位对换, bit0和bit7,bit1和bit6,以此类推.