原创 实现一个8bit的二进制数反转

2010-9-6 15:27 8012 11 11 分类: 软件与OS

如何实现一个8bit的二进制数反转呢。


有以下方法:


=================我是华丽的分割线===================


uint8 bin8_rev(uint8 data) 

    data=((data&0xf0)>>4) | ((data&0x0f)<<4); 
    data=((data&0xCC)>>2) | ((data&0x33)<<2); 
    data=((data&0xAA)>>1) | ((data&0x55)<<1); 
    return data; 
}


--------------------------我也是一条分割线------------------------------


unsigned char code tab[16]={0x00,0x08,0x04,0x0c,0x02,0x0a,0x06,0x0e,0x01,0x09,0x05,0x0d,0x03,0x0b,0x07,0x0f}; 

unsigned char bin8_rev(unsigned char bb)  

return ((tab[bb>>4])|(tab[bb&0x0f]<<4)); 
}
 


半字节反转码


==============持续分割线中=====================


第二种方法比较快速

PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
EE直播间
更多
我要评论
0
11
关闭 站长推荐上一条 /3 下一条