一乐电子

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

QQ登录

只需一步,快速开始

微信扫码登录

手机号码,快捷登录

手机号码,快捷登录

搜索
楼主: kenson

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

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

使用道具 举报

发表于 2014-5-26 18:39 | 显示全部楼层
kenson 发表于 2014-5-26 12:25
7 L, b  W  U8 Y7 r) d是的高低位反转,那请问查找表如何查呢?能发一段同样的效果的程序来学习一下吗?

0 V  y" `6 }8 \8 S! X$ J. A查表反转
  1. unsigned char Byte_tab[16]={0x00,0x08,0x04,0x0c,0x02,0x0a,0x06,0x0e,0x01,0x09,0x05,0x0d,0x03,0x0b,0x07,0x0f}; 2 U* S4 x! X/ ~4 x
  2. , G* N5 W% c+ t# M% x
  3. unsigned char Reverse_Byte(unsigned char data)  3 S9 v7 R- E4 r. N  }+ ]# e: f
  4. { , V6 Q7 D/ E6 l& z
  5.         return ((Byte_tab[data>>4])|(Byte_tab[data&0x0f]<<4)); & p# D" i8 j- p
  6. }
复制代码
回复

使用道具 举报

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

使用道具 举报

发表于 2014-5-26 20:36 | 显示全部楼层
本帖最后由 desertsailor 于 2014-5-27 21:35 编辑 9 Q1 f# \, X7 G& X, _' |$ j0 q

4 }5 ?0 }$ x5 B8 d& T6 Z想了一下,查表可以这样:) x# w3 A* W+ j) Q

( ]* Z7 m8 Y  M$ E: N- f; dunsigned char Tab[16]={0x00,0x08,0x04,0x0C,0x02,0x0A,0x06,0x0E,0x01,0x09,0x05,0x0D,0x03,0x0B,0x07,0x0F};    //四位数据的反转,分别对应0-15的反转后的数据
) g. I& z9 L% y) x' W1 ~4 E
" p4 F/ t9 B5 c# X. _. L//8位数据的反转6 S/ E- s6 |5 ~! T
unsigned char Reverse_8Bits(unsigned char Data)
& ~, M' b7 }9 ^# ^" K- ^{9 c3 `' x8 X3 X* F( F' ]
        unsigned char temp;
! B, n5 E8 q- _. R% Z! a. L        temp=(Tab[Data&0x0f]<<4) | Tab[Data>>4];( _% x7 X9 y. X' c5 y% ?; T
        return temp;
" _  J7 M% \" c0 P1 q- n}; A6 W$ Y, F' W6 l6 M

0 _8 u" d7 r( v1 @' T8 U$ K* r+ g
1 ]* |( s. p4 H8 a& U: r2 ?! o+ O//16位数据的反转7 x* Z1 K/ D8 {$ r" t7 o
unsigned int Reverse_16Bits(unsigned int Data)
$ N4 N# L: U5 Q; g) ^5 f{
- E. U8 ^& y3 }  m$ K6 @$ R/ W        unsigned int temp;* k! \5 k9 h" s' X' }) t$ C
        temp=(Reverse_8Bits((unsigned char)(Data&0x00FF))<<8) | Reverse_8Bits((unsigned char)(Data>>8));
9 ^3 ?' L" \* u) e1 {3 R        return temp;
% _; r5 ^0 Z3 E( I}

点评

不错,坛里高人真是多,学习了  发表于 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/ ~* @( \9 V! x5 g6 N, P$ v
查表反转
8 z0 M4 h# Y$ u# X' \7 L
果然是不错的LOOP UP TABLE 程序,对比一下我跟这程序是有异曲同工之处,
& e/ S. O, b- k, b谢谢了。2 n7 ]- B5 W0 ]1 n2 k/ }7 B$ j, x& T
回复

使用道具 举报

 楼主| 发表于 2014-5-27 07:40 | 显示全部楼层
desertsailor 发表于 2014-5-26 20:36
3 T$ c9 d; y2 h1 T' h. K5 @想了一下,查表可以这样:' e7 W1 K" q% c0 H7 ?+ i4 _/ K0 Z! g

0 s7 U9 {7 ]3 }; `% L2 eunsigned char Tab[16]=[0x00,0x08,0x04,0x0C,0x02,0x0A,0x06,0x0E,0x01,0x09 ...
0 y1 g1 ^4 b1 I9 `
三人同行必有我师,谢谢。( v$ I% B0 M" H, C7 H' z8 t( G: M
回复

使用道具 举报

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

使用道具 举报

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

使用道具 举报

本版积分规则

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

GMT+8, 2026-2-25 15:04 , Processed in 0.031294 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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