位翻轉的一種高效率算法

/*****************************************************************************
FileName : flip.c
Function : 高效率的位翻轉程序
Author   : mike
Email    : [email protected]	
Version  : V1.0
Date     : 2019-07-12
Note     : 1個byte數據,從BIT(0)翻轉到BIT(7),比如11100000,翻轉後爲00000111
*****************************************************************************/
#define u8 unsigned char

IAR_CONST u8 flip_tab[16]={0x00,0x08,0x04,0x0c,0x02,0x0a,0x06,0x0e,
                           0x01,0x09,0x05,0x0d,0x03,0x0b,0x07,0x0f};

u8 flip_bit(u8 dat)		//keil測試26個時鐘週期
{
     dat = flip_tab[(dat & 0xf0)>>4] | (flip_tab[dat & 0x0f]<<4);
     return dat;
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章