一乐电子

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

QQ登录

只需一步,快速开始

微信扫码登录

手机号码,快捷登录

手机号码,快捷登录

搜索
楼主: kenson

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

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

使用道具 举报

发表于 2014-5-26 18:39 | 显示全部楼层
kenson 发表于 2014-5-26 12:25
: i3 W" X# S  L! |0 r是的高低位反转,那请问查找表如何查呢?能发一段同样的效果的程序来学习一下吗?
7 W  G! }, s; k; q0 S* L. C
查表反转
  1. unsigned char Byte_tab[16]={0x00,0x08,0x04,0x0c,0x02,0x0a,0x06,0x0e,0x01,0x09,0x05,0x0d,0x03,0x0b,0x07,0x0f};
    : o" g3 _/ C- H! `

  2. 7 b* h2 r" s) o4 a! T4 m- J$ X1 ]
  3. unsigned char Reverse_Byte(unsigned char data)  2 L# x/ Y3 ?0 G3 E) B
  4. {
    " _1 F! N/ V% y5 P/ [! ?9 o
  5.         return ((Byte_tab[data>>4])|(Byte_tab[data&0x0f]<<4)); 5 W, m. {7 `7 q, V6 G- d
  6. }
复制代码
回复

使用道具 举报

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

使用道具 举报

发表于 2014-5-26 20:36 | 显示全部楼层
本帖最后由 desertsailor 于 2014-5-27 21:35 编辑 6 O2 T1 ]) t2 \* P! N
1 v0 F" e1 n  v, x1 x+ W" ^. B6 Z8 w
想了一下,查表可以这样:  }! b: S: O- T- {% L1 M5 J! A( i4 A

) a. Q) N4 K5 O* h) Wunsigned char Tab[16]={0x00,0x08,0x04,0x0C,0x02,0x0A,0x06,0x0E,0x01,0x09,0x05,0x0D,0x03,0x0B,0x07,0x0F};    //四位数据的反转,分别对应0-15的反转后的数据
: M0 f3 S& P/ R0 j7 j' v% C8 C. k. m: H9 {& @
//8位数据的反转* f4 t& T8 d7 R6 B
unsigned char Reverse_8Bits(unsigned char Data); {6 z* ^8 v: I+ V% N
{
4 L0 L$ @0 z8 N9 k7 R% g5 {        unsigned char temp;: k, ^5 D5 `) _: m; n
        temp=(Tab[Data&0x0f]<<4) | Tab[Data>>4];$ f5 |2 t2 H" n$ \8 G
        return temp;
  P" t1 w/ \+ ?3 W* t}
: d6 D# @) ]) X" I
- {' O3 G- L- _& V* ]# @9 n9 ^4 G% c+ i
//16位数据的反转8 s$ i- d( Y* I( Z# J' |
unsigned int Reverse_16Bits(unsigned int Data)
3 r- c- ~4 l( b, c{
0 ^0 s3 ]% M, n' E4 H& @/ |) g        unsigned int temp;
# H1 ?( P4 u1 S/ P# ~        temp=(Reverse_8Bits((unsigned char)(Data&0x00FF))<<8) | Reverse_8Bits((unsigned char)(Data>>8));
# E' T2 u! v: r) m4 S        return temp;; n2 S* O3 x6 [- g! }. X/ ^( A( k
}

点评

不错,坛里高人真是多,学习了  发表于 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:395 V3 u. [" j# X& P* _% z
查表反转

) B! j3 C; t) g7 T& W; u果然是不错的LOOP UP TABLE 程序,对比一下我跟这程序是有异曲同工之处,, v: |8 Q7 r8 T9 _' g/ R
谢谢了。
7 a5 |$ q1 V% m) U3 q
回复

使用道具 举报

 楼主| 发表于 2014-5-27 07:40 | 显示全部楼层
desertsailor 发表于 2014-5-26 20:36
# L% C( t. Z0 i8 k7 z想了一下,查表可以这样:
2 ]2 U2 z9 c! _: I. p8 q: X5 A% P; M' W# b* w
unsigned char Tab[16]=[0x00,0x08,0x04,0x0C,0x02,0x0A,0x06,0x0E,0x01,0x09 ...

' I7 x: A# B$ X; Z) z三人同行必有我师,谢谢。
+ L# j0 r5 y: k* A, U! F( d; d
回复

使用道具 举报

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

使用道具 举报

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

使用道具 举报

本版积分规则

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

GMT+8, 2025-10-28 00:57 , Processed in 0.036757 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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