一乐电子

一乐电子百科

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

QQ登录

只需一步,快速开始

快捷登录

手机号码,快捷登录

搜索
12
返回列表 发新帖
楼主: kenson
收起左侧

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

[复制链接]
发表于 2014-5-26 16:17 | 显示全部楼层
看不懂,我就会一步一步写
发表于 2014-5-26 18:39 | 显示全部楼层
kenson 发表于 2014-5-26 12:25; o7 N2 x5 b5 r/ Y8 [0 V
是的高低位反转,那请问查找表如何查呢?能发一段同样的效果的程序来学习一下吗?

; v) D+ q! N% ]( u查表反转
  1. unsigned char Byte_tab[16]={0x00,0x08,0x04,0x0c,0x02,0x0a,0x06,0x0e,0x01,0x09,0x05,0x0d,0x03,0x0b,0x07,0x0f};
    $ g6 E: w7 {9 J% }# @! c
  2. % ~$ G5 p  q3 n2 E/ I
  3. unsigned char Reverse_Byte(unsigned char data)  2 r! J+ F, t7 F$ E) E, v$ w- n0 G
  4. { , f' v2 W# h' R; {% X. x( @$ ~
  5.         return ((Byte_tab[data>>4])|(Byte_tab[data&0x0f]<<4)); 3 r, o  @" B8 t. [6 c
  6. }
复制代码
发表于 2014-5-26 19:23 | 显示全部楼层
好东西,记号一下
发表于 2014-5-26 20:36 | 显示全部楼层
本帖最后由 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
}

点评

不错,坛里高人真是多,学习了  发表于 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/ h2 H  c" m9 h/ I6 L( M% ]. Q
查表反转
, s4 m& Q0 L" E  S  F9 B# u4 l
果然是不错的LOOP UP TABLE 程序,对比一下我跟这程序是有异曲同工之处,
2 h% Q0 I. u  i谢谢了。
: d" S/ Q* A  y: G" m
 楼主| 发表于 2014-5-27 07:40 | 显示全部楼层
desertsailor 发表于 2014-5-26 20:36
6 p( j7 E) x9 ?8 Q/ f想了一下,查表可以这样:
  T$ }6 c" b, b; m' @1 ~' N& s3 Z$ x( K" e( l3 J
unsigned char Tab[16]=[0x00,0x08,0x04,0x0C,0x02,0x0A,0x06,0x0E,0x01,0x09 ...
. W4 l. R" j9 D' t0 m
三人同行必有我师,谢谢。
! f4 u' N1 t( o2 K+ t0 h* Z
发表于 2014-8-11 18:40 来自手机 | 显示全部楼层
为何不采用异或呢
发表于 2014-11-11 13:52 | 显示全部楼层
高低位对调,很实用的算法。

本版积分规则

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

GMT+8, 2025-4-28 17:27 , Processed in 0.054303 second(s), 30 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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