24小时热门版块排行榜    

北京石油化工学院2026年研究生招生接收调剂公告
查看: 1149  |  回复: 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 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 302求调剂一志愿华中师范大学 +7 小江小江江江 2026-04-02 7/350 2026-04-02 21:48 by macy2011
[考研] 326分求调剂 +3 于是乎呢 2026-04-01 3/150 2026-04-02 21:30 by jing_jenna
[考研] 081200-11408-276学硕求调剂 +3 崔wj 2026-04-02 3/150 2026-04-02 15:06 by cal0306
[考研] 计算机265跨调环境 +5 Yumeng_6 2026-03-27 5/250 2026-04-02 10:54 by guanxin1001
[考研] 322求调剂 +5 熹僖XX 2026-03-31 6/300 2026-04-02 10:08 by 求调剂zz
[考研] 0710生物学求调剂 +9 manman511 2026-04-01 9/450 2026-04-02 10:00 by zxl830724
[考研] 348环境工程调剂 +3 吴彦祖24k 2026-04-01 3/150 2026-04-02 09:14 by nanaliuyun
[考研] 11408 321分求调剂 +3 huchun12138 2026-03-30 4/200 2026-04-01 22:48 by guanxin1001
[考研] 085600,320分求调剂 +5 大馋小子 2026-04-01 6/300 2026-04-01 19:40 by 唐沐儿
[考研] 材料与化工调剂一志愿大连海事085600,349 +9 吃的不少 2026-03-30 9/450 2026-04-01 11:24 by wangjy2002
[考研] 调剂申请 +8 张张张张zy 2026-03-31 9/450 2026-04-01 08:29 by zjbkx
[考研] 物理学调剂 +4 小羊36 2026-03-30 4/200 2026-03-31 16:16 by lishahe
[考研] 本科211安全工程,初试290分,求调剂 +3 2719846834 2026-03-28 3/150 2026-03-31 13:52 by 热情沙漠
[考研] 一志愿西电085401数一英一299求调剂 六级521 +4 爱吃大鸭梨 2026-03-31 4/200 2026-03-31 11:51 by 搏击518
[考研] 274求调剂 +6 xiao爱同学 2026-03-30 6/300 2026-03-31 10:04 by cal0306
[考研] 材料专硕 085600求调剂 +7 BBQ233 2026-03-30 7/350 2026-03-30 17:44 by oooqiao
[考研] 数一英一271专硕(085401)求调剂,可跨 +7 前行必有光 2026-03-28 8/400 2026-03-28 23:22 by 小木虫tim
[考研] 求佛 +7 迷人的哈哈 2026-03-28 7/350 2026-03-28 16:47 by 催化大白
[考研] 265求调剂 +8 小木虫085600 2026-03-27 8/400 2026-03-27 22:16 by 无际的草原
[考研] 一志愿上海理工能源动力(085800)310分求调剂 +3 zhangmingc 2026-03-27 4/200 2026-03-27 19:01 by 给你你注意休息
信息提示
请填处理意见