BBS.ChinaUnix.net
今日推荐
首页
|
新闻
|
Linux
|
AIX
|
博客
|
论坛
|
存储
|
人才
|
培训
|
知识库
|
资料
|
读书
|
手册
|
精华
|
下载
|
空间
会员:
密码:
免费注册
|
忘记密码
|
会员登录
|
搜索
|
帮助
[C]
位操作高手请进。已解决,感谢兄弟们的帮助!
‹‹
1
2
3
4
5
首页
»
论坛
»
C/C++
»
论坛跳转 ...
> Linux论坛
> BSD
> BSD文档中心
> Solaris
> Solaris文档中心
> 互操作专区
> AIX
> AIX文档中心
> AS400
> HP-UX
> HP文档中心
> SCO UNIX
> SCO文档中心
> Tru64 UNIX
> IRIX
> Mac OS X
> C/C++
> Shell
> Java
> Java文档中心
> Php
> Perl
> Python
> Python文档中心
> Web开发
> 软件工程
> 中间件技术
> GUI编程
> 软件配置管理
> VOIP开发技术
> CPU与编译器
> Ruby
> 网络安全
> 网络技术
> 网络技术文档中心
> 存储备份之家
> 存储文档中心
> 存储业界
> 服务器及硬件技术
> MySQL
> Sybase
> Oracle
> PostgreSQL
> DB2
> Informix
> Web服务器
> Mail服务器
> FTP服务器
> DNS服务器
> Proxy服务器
> LDAP
> VPN
> Lotus
> Samba
> 金融行业
> 电信行业
> 互联网行业
> 制造行业
> 医卫行业
> 教育行业
> 媒体娱乐行业
> 电子政务
> 信息安全
> 交通行业
> IT业界新闻与评论
> IT职业生涯
> IT培训与认证
> IT二手大厅
> IT图书与评论
> 清茶斋
> 投资理财
> 运动地带
> 北京2008奥运专版
> 快乐数码摄影
> 影音文字
> English Forum
> 游戏玩家
> 旅游天下
> IT爱车族
> CU活动专区
> 站务交流
> 博客站务交流区
> 下载频道交流区
> 空间圈子交流区
最近访问的论坛 ...
时代域名主机托管全面特惠
|
CU积分兑换详情
|
100积分:谈谈您对校园网建设的体会
|
CU《奥运之春》摄影获奖作品展示
|
《奥运之夏》摄影赛开始
|
[
打印
] [
订阅
] [
收藏
] [
推荐给朋友
] [
本帖文本页
]
醉卧水云间
精灵使
UID:443805
注册:2006-7-19
最后登录: 2008-07-04
帖子:
3283
精华:
3
可用积分:1095
信誉积分:
140
专家积分:
10
(本版)
状态:...保密...
[
个人空间
] [
短信
] [
博客
]
41楼
发表于 2008-5-10 16:28
QUOTE:
原帖由
titansword2000
于 2008-5-10 11:10 发表
回34楼,将其该为offset=7-(bitpos%
之后,经解码后验证,发现其还是不对。从你的代码来看,应该是对的。问题能出在哪儿呢
我的代码是对的, 解码自己琢磨, 看来这个问题够你玩一阵了, 你慢慢玩啊
您对本贴的看法:
鲜花[0]
臭蛋[0]
CU可用积分兑换Linux/Unix精品图书
|
《Ubuntu标准教程》书评获奖名单公布
titansword2000
精灵
UID:208011
注册:2004-12-15
最后登录: 2008-06-08
帖子:
248
精华:0
可用积分:183
信誉积分:
100
专家积分:
0
(本版)
来自:山东
状态:
...离线...
[
个人空间
] [
短信
] [
博客
]
42楼
发表于 2008-5-10 16:38
我也觉得你的编码函数是对的。你看我发的那个解码函数不就是我说的那个意思,把后面的n_bits位连成一串吗?
您对本贴的看法:
鲜花[0]
臭蛋[0]
__________________________________
用FB真好,有BF更好;
大家好才是真的好,好的真好.
CU可用积分兑换Linux/Unix精品图书
|
《Ubuntu标准教程》书评获奖名单公布
zicfy
圣骑士
rankkkk
UID:185395
注册:2004-9-22
最后登录: 2008-05-10
帖子:
107
精华:0
可用积分:106
信誉积分:
100
专家积分:
0
(本版)
状态:
...离线...
[
个人空间
] [
短信
] [
博客
]
43楼
发表于 2008-5-10 21:15
结果跟我的程序比一下就知道是不是正确了
您对本贴的看法:
鲜花[0]
臭蛋[0]
__________________________________
[hide]隐藏签名档.[/hide]
CU可用积分兑换Linux/Unix精品图书
|
《Ubuntu标准教程》书评获奖名单公布
cobras
精灵王
UID:350981
注册:2005-12-17
最后登录: 2008-07-02
帖子:
341
精华:0
可用积分:355
信誉积分:
100
专家积分:
19
(本版)
状态:
...离线...
[
个人空间
] [
短信
] [
博客
]
44楼
发表于 2008-5-10 22:22
这个跟整数字节序是有关的嘛
您对本贴的看法:
鲜花[0]
臭蛋[0]
__________________________________
个人博客:编程兴趣屋—
http://cobras.cublog.cn
提供一些中文资料及软件下载
CU可用积分兑换Linux/Unix精品图书
|
《Ubuntu标准教程》书评获奖名单公布
cobras
精灵王
UID:350981
注册:2005-12-17
最后登录: 2008-07-02
帖子:
341
精华:0
可用积分:355
信誉积分:
100
专家积分:
19
(本版)
状态:
...离线...
[
个人空间
] [
短信
] [
博客
]
45楼
发表于 2008-5-10 22:49
void catbit(unsigned char *data,int *array,int n_array,int n_bits) {
unsigned char *tmp_data;
int bit_index;
int int_data;
int tmp_bits;
int bit_mask;
if (data != NULL && array != NULL && n_array > 0 && n_bits > 0) {
if (n_bits > sizeof(int) *
{
n_bits = sizeof(int) * 8;
}
bit_index = 0;
bit_mask = 1 << (n_bits - 1);
while (n_array-- > 0) {
int_data = array++ << (sizeof(int) * 8 - n_bits);
for (tmp_bits = n_bits; tmp_bits-- > 0
{
*tmp_data = &data[bit_index++ / 8];
if (int_data & bit_mask) {
(*tmp_data)++;
}
*tmp_data <<= 1;
int_data <<= 1;
}
}
}
}
您对本贴的看法:
鲜花[0]
臭蛋[0]
__________________________________
个人博客:编程兴趣屋—
http://cobras.cublog.cn
提供一些中文资料及软件下载
CU可用积分兑换Linux/Unix精品图书
|
《Ubuntu标准教程》书评获奖名单公布
涩兔子
(sirtoozee)
精灵
UID:332502
注册:2005-11-5
最后登录: 2008-07-04
帖子:
207
精华:0
可用积分:174
信誉积分:
100
专家积分:
4
(本版)
来自:Beijing
状态:
...离线...
[
个人空间
] [
短信
] [
博客
]
46楼
发表于 2008-5-11 15:35
等待最后的结贴,我好把正确答案收录起来
您对本贴的看法:
鲜花[0]
臭蛋[0]
__________________________________
摘除了一根儿肋骨
CU可用积分兑换Linux/Unix精品图书
|
《Ubuntu标准教程》书评获奖名单公布
tspy007
风云使者
UID:700549
注册:2008-5-4
最后登录: 2008-07-04
帖子:
473
精华:0
可用积分:859
信誉积分:
0
专家积分:
0
(本版)
状态:
...离线...
[
个人空间
] [
短信
] [
博客
]
47楼
发表于 2008-5-12 14:33
搞得太深奥了点吧
您对本贴的看法:
鲜花[0]
臭蛋[0]
CU可用积分兑换Linux/Unix精品图书
|
《Ubuntu标准教程》书评获奖名单公布
titansword2000
精灵
UID:208011
注册:2004-12-15
最后登录: 2008-06-08
帖子:
248
精华:0
可用积分:183
信誉积分:
100
专家积分:
0
(本版)
来自:山东
状态:
...离线...
[
个人空间
] [
短信
] [
博客
]
48楼
发表于 2008-5-14 19:29
经过几天的不断测试,发现醉卧水云间网友思路和代码是正确的,现将代码贴到下面:(仅仅修改了醉卧水云间网友的部分代码,感谢醉卧水云间对本人的支持)
void setbitpos(unsigned char *data, int bitpos, int bit)
{
int byte=(bitpos)/8;
int offset=7-(bitpos%8 );
if(bitpos % 8 == 0)
data[byte]=0x00; //清空该内存地址中有可能存在的数据
if(bit)
{
data[byte]|= (1<<offset);
}
else
{
data[byte]&= ~(1<<offset);
}
}
void catbit(unsigned char *data,int *array,int n_array,int n_bits)
{
unsigned int bitpos=0;
for(int i=0;i<n_array;i++)
{
for(int j=n_bits-1;j>=0;j--)
{
int bit= array
& (1 << j);
setbitpos(data, bitpos++, bit);
}
}
}
[
本帖最后由 titansword2000 于 2008-5-14 19:30 编辑
]
您对本贴的看法:
鲜花[0]
臭蛋[0]
__________________________________
用FB真好,有BF更好;
大家好才是真的好,好的真好.
CU可用积分兑换Linux/Unix精品图书
|
《Ubuntu标准教程》书评获奖名单公布
tspy007
风云使者
UID:700549
注册:2008-5-4
最后登录: 2008-07-04
帖子:
473
精华:0
可用积分:859
信誉积分:
0
专家积分:
0
(本版)
状态:
...离线...
[
个人空间
] [
短信
] [
博客
]
49楼
发表于 2008-6-1 22:59
怎么没人回贴呀
您对本贴的看法:
鲜花[0]
臭蛋[0]
CU可用积分兑换Linux/Unix精品图书
|
《Ubuntu标准教程》书评获奖名单公布
首页
»
论坛
»
C/C++
»
‹‹
1
2
3
4
5
论坛跳转 ...
> Linux论坛
> BSD
> BSD文档中心
> Solaris
> Solaris文档中心
> 互操作专区
> AIX
> AIX文档中心
> AS400
> HP-UX
> HP文档中心
> SCO UNIX
> SCO文档中心
> Tru64 UNIX
> IRIX
> Mac OS X
> C/C++
> Shell
> Java
> Java文档中心
> Php
> Perl
> Python
> Python文档中心
> Web开发
> 软件工程
> 中间件技术
> GUI编程
> 软件配置管理
> VOIP开发技术
> CPU与编译器
> Ruby
> 网络安全
> 网络技术
> 网络技术文档中心
> 存储备份之家
> 存储文档中心
> 存储业界
> 服务器及硬件技术
> MySQL
> Sybase
> Oracle
> PostgreSQL
> DB2
> Informix
> Web服务器
> Mail服务器
> FTP服务器
> DNS服务器
> Proxy服务器
> LDAP
> VPN
> Lotus
> Samba
> 金融行业
> 电信行业
> 互联网行业
> 制造行业
> 医卫行业
> 教育行业
> 媒体娱乐行业
> 电子政务
> 信息安全
> 交通行业
> IT业界新闻与评论
> IT职业生涯
> IT培训与认证
> IT二手大厅
> IT图书与评论
> 清茶斋
> 投资理财
> 运动地带
> 北京2008奥运专版
> 快乐数码摄影
> 影音文字
> English Forum
> 游戏玩家
> 旅游天下
> IT爱车族
> CU活动专区
> 站务交流
> 博客站务交流区
> 下载频道交流区
> 空间圈子交流区
控制面板首页
编辑个人资料
积分交易
公众用户组
好友列表
个人空间管理
升级个人空间
基本概况
论坛排行
主题排行
发帖排行
积分排行
管理团队
管理统计
Copyright © 2001-2008 ChinaUnix.net All Rights Reserved 联系我们:
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处
京ICP证041476号
清除 Cookies
-
ChinaUnix
-
Archiver
-
WAP
-
TOP
Processed in 0.060535 second(s), 4 queries , Gzip enabled
控制面板首页
编辑个人资料
积分交易
公众用户组
好友列表
个人空间管理
升级个人空间
基本概况
论坛排行
主题排行
发帖排行
积分排行
管理团队
管理统计