24小时热门版块排行榜    

查看: 1209  |  回复: 2

hu123rong00

铜虫 (小有名气)

[求助] 位倒序——半字节查表法

我想实现一个字节的倒序,例如  11001100  ---->  00110011.
用半字节查表法怎么做啊?请高手讲解一下原理?或者还有其他快速的算法
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

sudo

木虫 (正式写手)

就是从0000到1111的倒序先保存在一个数组中,比如:
CODE:
0000 -> 0000
0001 -> 1000
0010 -> 0100
...

于是这个数组就是:
CODE:
i   rev[i]
0   0
1   8
2   4
...

构造好数组rev后,就可以这么查表了:
CODE:
unsigned char byteReverse(unsigned char b){
        return (rev[b&0xF]<<4) | rev[b>>4];                //注意rev如果不是有符号或无符号型int数组的话,需要强制转换一下
}

2楼2012-03-07 09:14:19
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

xqc1123

银虫 (小有名气)

【答案】应助回帖

★ ★ ★
感谢参与,应助指数 +1
hu123rong00: 金币+3, 有帮助 2012-03-27 15:09:17
楼主我想到一个算法,具体代码还需要楼主自己实现:

1.将字节序列存储在一个char数组里,或者根据字节个数动态生成数组,保存数组大小N(如果字节序列是根据一个整数生成还要写一个将10进制转换为二进制的函数,楼主可以在网上找找)

2.如果N为奇数,数组中间元素不变,取中间元素两边的子数组互换位置

3.对每个需要互换位置的子数组循环执行2步骤,直到子数组元素为一个时返回
(这里楼主可以写一个函数,接受一个char指针和子数组大小.然后迭代求解)

飞鱼的眼泪,大海懂~~
3楼2012-03-07 09:15:07
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 hu123rong00 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[基金申请] 应该是93bebmhtak前后十一个字符比较关键 +5 Lanmanbaby 2026-08-09 6/300 2026-08-09 15:07 by Tide man
[基金申请] fileCode有新解读? +10 Tide man 2026-08-08 18/900 2026-08-09 12:55 by 仁砚薪传
[考博] 【2027博士申请】纳米药物递送方向 20+3 13586093586 2026-08-03 5/250 2026-08-08 21:54 by 13586093586
[基金申请] 国基金的申报应该改成非等额制,评价高的钱多评价低的钱少,但是增加资助率 +7 a089 2026-08-07 7/350 2026-08-08 18:05 by gltch
[基金申请] 售SCI一区T0P文章,我:8.O.55.1.O54,科目全,可伽急 +3 qTvzQBRAHjCi 2026-08-07 4/200 2026-08-08 17:22 by oEVWOejN9taj
[考研] 售SCI一区T0P文章,我:8.O55.1.O.54,科目全,可十急 +3 qTvzQBRAHjCi 2026-08-07 5/250 2026-08-08 16:47 by oEVWOejN9taj
[论文投稿] 售SCI-T0P文章,我:8O.5.5.1.O.54,科目齐全,可+急 +3 qTvzQBRAHjCi 2026-08-07 4/200 2026-08-08 16:47 by oEVWOejN9taj
[考博] 售一区SCI文章T0P,我:8O.551.O54,科目全,可十急 +3 Vi50GxzrFcSG 2026-08-07 4/200 2026-08-08 16:22 by oEVWOejN9taj
[基金申请] 售SCI-T0P文章,我:8O.5.5.1.O.54,科目齐全,可+急 +3 Vi50GxzrFcSG 2026-08-07 4/200 2026-08-08 16:19 by oEVWOejN9taj
[博后之家] 售SCI一区文章,我:8.O.551.O.5.4,科目全,可伽急 +3 Vi50GxzrFcSG 2026-08-07 4/200 2026-08-08 16:02 by oEVWOejN9taj
[论文投稿] 售SCI一区文章,我:8.O.55.1.O.54,科目齐全,可伽急 +3 Vi50GxzrFcSG 2026-08-07 6/300 2026-08-08 15:07 by oEVWOejN9taj
[硕博家园] 售SCI一区文章,我:8.O.55.1.O.54,科目齐全,可伽急 +4 HEQlVqMTIA7d 2026-08-07 6/300 2026-08-08 14:47 by oEVWOejN9taj
[博后之家] 售SCI一区T0P文章,我:8O.55.1.O.54,科目全,可伽急 +3 HEQlVqMTIA7d 2026-08-07 6/300 2026-08-08 14:42 by oEVWOejN9taj
[论文投稿] 售SCI一区T0P文章,我:8O.55.1.O.5.4,科目齐全,可+急 +3 HEQlVqMTIA7d 2026-08-07 5/250 2026-08-08 14:22 by oEVWOejN9taj
[基金申请] 化学口download_prp&amp;fileCode的固定段好像这几天一直没变,有变的大神么? +3 Tide man 2026-08-07 4/200 2026-08-07 22:39 by Tide man
[基金申请] 听说今天filecode变了 +24 布布和一二 2026-08-06 47/2350 2026-08-07 16:02 by zhiyanjiang
[基金申请] filecode与中标关系的预测 +3 布布和一二 2026-08-07 3/150 2026-08-07 15:09 by gltch
[基金申请] filecode变化情况 +6 布布和一二 2026-08-07 22/1100 2026-08-07 14:45 by 且听虎啸
[基金申请] filecode +8 布布和一二 2026-08-06 11/550 2026-08-06 20:41 by tangpu318
[基金申请] 8月时间戳变的,举个手。玩一下,释放压力 +9 archvillain 2026-08-04 11/550 2026-08-05 20:06 by wlwhappy
信息提示
请填处理意见