小问题:字节颠倒用什么方法最好?

[复制链接]
10707|56
 楼主| alphal 发表于 2008-1-31 10:06 | 显示全部楼层 |阅读模式
如:
0110 1101
字节颠倒,0-7,1-6....成
1011 0110

记得以前面试的时候见过这个题目,但还不知道最优方法是怎样.

大家有什么好方**
xwj 发表于 2008-1-31 10:08 | 显示全部楼层

最快的方法是查表,简单的方法是移位,折衷的方法是位替

 楼主| alphal 发表于 2008-1-31 10:24 | 显示全部楼层

...

查表:8bit逐位检测,查表,最后或运算得结果.?

移位,怎么移?移位次数和权有关?

位替换,逐位检测,对应置位,最后得结果,同查表法.?
machunshui 发表于 2008-1-31 10:43 | 显示全部楼层

用dsp

用dsp最好,
直接支持.
 楼主| alphal 发表于 2008-1-31 10:54 | 显示全部楼层

..

那还不如叫别人做最好了..
xwj 发表于 2008-1-31 11:08 | 显示全部楼层

LZ没理解查表的方法,再去想!

平常人 发表于 2008-1-31 12:14 | 显示全部楼层

查表最快,为减少占用存储空间,可采用高低4位分别查表再

这样表格只需16字节,再加上少量指令,又快又省空间!
john_light 发表于 2008-1-31 12:57 | 显示全部楼层

赞平经理一个

我的想法经已out了
gyt 发表于 2008-1-31 13:14 | 显示全部楼层
qguangdong 发表于 2008-1-31 13:42 | 显示全部楼层

平常人说 的好 
westsfw 发表于 2008-1-31 18:24 | 显示全部楼层

好老师呀

xwj不去做老师可惜了,中国就缺这种老师呀哈哈
谈的元 发表于 2008-2-1 17:48 | 显示全部楼层

楼主是不是有大量的表格写反了,要对调过来送LCD?

可以写个简单的宏 来 修改全部表格,使数据对调

楼主什么语言,什么单片机?

为了应对老板一会儿要正显LCD,一哈儿要反显LCD,(为了安装方便)
machunshui 发表于 2008-2-1 18:05 | 显示全部楼层
machunshui 发表于 2008-2-1 18:17 | 显示全部楼层

8楼的方法很好

8楼的方法很好
fsaok 发表于 2008-2-1 19:50 | 显示全部楼层

用汇编

把第一个字节左移到进位 C,然后把进位 C 右移入第二个字节,三四行汇编语言就OK
machunshui 发表于 2008-2-1 20:59 | 显示全部楼层

8楼方法最好

8楼方法最好.
学习!!!!

IceAge 发表于 2008-2-1 21:49 | 显示全部楼层

顶平常人

有的 cpu 有这么一条专用的指令,用来做 fft.
hotpower 发表于 2008-2-1 22:27 | 显示全部楼层

记得最新的Cortex M3汇编指令有一条,忘了~~~DSP是有的.

machunshui 发表于 2008-2-1 23:13 | 显示全部楼层

Cortex M3要是有这一条指令

Cortex M3要是有这一条指令,做fft就高效了.
xhtxzxw 发表于 2008-2-1 23:20 | 显示全部楼层

嘿嘿

简单指的什么?A运行时间?B占用空间?CC源代码?D汇编源代码?如果是C,一行代码就够了,不过效率不高,需要7个与运算、8个移位运算、7个或运算。
假定x的类型是char:
x = (x>>7) | ((x&0x40)>>5) | ((x&0x20)>>3) | ((x&0x10)>>1) |  ((x&0x08)<<1) | ((x&0x04)<<3) | ((x&0x02)<<5) | ((x&0x01)<<7)  
您需要登录后才可以回帖 登录 | 注册

本版积分规则

112

主题

473

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部