黄金会员
 
主题
帖子
积分5089
阅读权限40
注册时间2008-12-13
最后登录1970-1-1
在线时间 小时
|
本帖最后由 desertsailor 于 2014-5-27 21:35 编辑
. g! Z |. r1 G, S3 ^7 N1 G4 ]
想了一下,查表可以这样:7 S% b* a8 i& x* a: O9 F( h" B
- b) l7 \- I+ V
unsigned char Tab[16]={0x00,0x08,0x04,0x0C,0x02,0x0A,0x06,0x0E,0x01,0x09,0x05,0x0D,0x03,0x0B,0x07,0x0F}; //四位数据的反转,分别对应0-15的反转后的数据0 F0 V/ S3 S* J. y, _
" p2 l8 Q5 P5 \; M5 J: K//8位数据的反转# t0 J5 e' |" B2 D# t: j
unsigned char Reverse_8Bits(unsigned char Data)% w: D9 ]5 C1 Y6 s. o
{
3 ^9 @& r ~$ E5 R- }( a' j unsigned char temp;
! Y, z* ` ?' a# G, R temp=(Tab[Data&0x0f]<<4) | Tab[Data>>4];) L3 D$ k4 j8 Y& A( Y
return temp;* D2 d) b& |5 g3 I0 s' p. `
}
1 w0 @! u# V. }& p9 c% \ Y
$ k1 `1 k, ~% u+ M, k" L8 i' g6 }7 @
//16位数据的反转
. T/ C' r1 c j. f8 }! P' H2 d, t3 punsigned int Reverse_16Bits(unsigned int Data)7 [9 N( ~ y* ?) p8 D, b
{, Z. f8 [. a' x$ w5 M4 D
unsigned int temp;
1 U; e* n0 f1 D, f9 y+ P- S$ Y, b temp=(Reverse_8Bits((unsigned char)(Data&0x00FF))<<8) | Reverse_8Bits((unsigned char)(Data>>8));
* e Z6 L$ d6 q3 _. h( n4 U return temp;' l% y" a+ w* M* b2 N, W0 e
} |
|