一乐电子

 找回密码
 请使用微信账号登录和注册会员

QQ登录

只需一步,快速开始

微信扫码登录

手机号码,快捷登录

手机号码,快捷登录

搜索
楼主: kenson

给大家看一段程序非常精辟

[复制链接]
发表于 2014-5-26 16:17 | 显示全部楼层
看不懂,我就会一步一步写
回复

使用道具 举报

发表于 2014-5-26 18:39 | 显示全部楼层
kenson 发表于 2014-5-26 12:251 t+ p' ^2 P0 m
是的高低位反转,那请问查找表如何查呢?能发一段同样的效果的程序来学习一下吗?

$ B4 M9 {/ V. n7 y查表反转
  1. unsigned char Byte_tab[16]={0x00,0x08,0x04,0x0c,0x02,0x0a,0x06,0x0e,0x01,0x09,0x05,0x0d,0x03,0x0b,0x07,0x0f};
    2 W/ _# w" L  F! L* Y

  2. . n' _1 W2 ^$ O/ M2 T8 E
  3. unsigned char Reverse_Byte(unsigned char data)  
    ; B" g* {. z5 \: h3 R& P
  4. {
    3 R$ {. T8 v& k$ J( P4 w5 n
  5.         return ((Byte_tab[data>>4])|(Byte_tab[data&0x0f]<<4));
    # u* L7 u1 x* B) a% {! q5 q# A) j
  6. }
复制代码
回复

使用道具 举报

发表于 2014-5-26 19:23 | 显示全部楼层
好东西,记号一下
回复

使用道具 举报

发表于 2014-5-26 20:36 | 显示全部楼层
本帖最后由 desertsailor 于 2014-5-27 21:35 编辑 6 x$ f  w! @0 }& H& `8 ?2 r
* V0 F1 I- K& P
想了一下,查表可以这样:
" Q+ J# r, C7 j. x6 e2 J9 h- x  Q$ B' H! d/ t/ u+ j
unsigned char Tab[16]={0x00,0x08,0x04,0x0C,0x02,0x0A,0x06,0x0E,0x01,0x09,0x05,0x0D,0x03,0x0B,0x07,0x0F};    //四位数据的反转,分别对应0-15的反转后的数据
5 j9 a; O3 W6 L) T8 e& L$ H1 b2 o0 W  M6 B4 s* u
//8位数据的反转
4 Y+ |1 k  D9 nunsigned char Reverse_8Bits(unsigned char Data)3 f! U6 G+ M8 J, b4 z% V
{$ g  `2 z2 u7 q% I+ O# u
        unsigned char temp;6 o- \8 y2 `+ N  G+ `# `# z; C
        temp=(Tab[Data&0x0f]<<4) | Tab[Data>>4];1 w. r0 V8 l5 m5 Q( Y( H/ D
        return temp;# d9 c% i0 j% P
}
& }' x7 }3 B8 B7 {
. |6 }2 t& e/ H9 E
1 u: @; A# i9 S2 ?" T/ u//16位数据的反转# m( J4 M4 n4 e) {7 F- s
unsigned int Reverse_16Bits(unsigned int Data)
2 @3 b* Q, A- Q/ _1 b2 s& K{
2 e, W% u& H* V: n        unsigned int temp;/ G$ \% L) y" ]; c7 {; k9 P# E
        temp=(Reverse_8Bits((unsigned char)(Data&0x00FF))<<8) | Reverse_8Bits((unsigned char)(Data>>8));
8 `) ^& g9 U# o6 ]3 N* s: z        return temp;  R( R7 d, ^& i# A* W$ f7 w% v
}

点评

不错,坛里高人真是多,学习了  发表于 2014-5-27 08:05
回复

使用道具 举报

发表于 2014-5-26 20:44 | 显示全部楼层
呵呵,上面有兄弟已经发过了,想到一块儿去了。
回复

使用道具 举报

发表于 2014-5-26 20:51 | 显示全部楼层
完全看不懂,总之就是很厉害的样子....
回复

使用道具 举报

 楼主| 发表于 2014-5-27 07:39 | 显示全部楼层
HFMBFUVR 发表于 2014-5-26 18:39' |: k! o" [- B
查表反转

( E/ C$ T2 L9 {8 D4 @8 V果然是不错的LOOP UP TABLE 程序,对比一下我跟这程序是有异曲同工之处,8 C1 ^$ }/ K+ o
谢谢了。( N! \& `8 t3 K4 |% I
回复

使用道具 举报

 楼主| 发表于 2014-5-27 07:40 | 显示全部楼层
desertsailor 发表于 2014-5-26 20:36
/ |: l' a5 Q( j" M想了一下,查表可以这样:
7 A& d& i( T5 }( e( h3 u: v
2 s% A3 ]( u+ nunsigned char Tab[16]=[0x00,0x08,0x04,0x0C,0x02,0x0A,0x06,0x0E,0x01,0x09 ...

7 j3 g# L3 X1 L; b4 ^: e3 W: C7 k三人同行必有我师,谢谢。: z: h! Y2 U! Z# C6 l  |
回复

使用道具 举报

发表于 2014-8-11 18:40 来自手机 | 显示全部楼层
为何不采用异或呢
回复

使用道具 举报

发表于 2014-11-11 13:52 | 显示全部楼层
高低位对调,很实用的算法。
回复

使用道具 举报

本版积分规则

QQ|一淘宝店|手机版|商店|一乐电子 ( 粤ICP备09076165号 ) 公安备案粤公网安备 44522102000183号

GMT+8, 2025-10-27 16:07 , Processed in 0.037442 second(s), 29 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表