免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 692 | 回复: 1
打印 上一主题 下一主题

重发我的问题,请大家帮帮忙 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-08-18 11:13 |只看该作者 |倒序浏览
npacklen = (ptr[2] >> 4) * 10 + (ptr[2] & 0x0f) +
               (ptr[1] >> 4) * 1000 + (ptr[1] & 0x0f) * 100 + 2;
这里npacklen代表什么?
如果ptr[1]=0X12,ptr[2]=0X34,那么npack是多少呀,移位的时候0X有没有参加移位的啊?请各位大虾帮忙了

论坛徽章:
0
2 [报告]
发表于 2006-08-18 23:37 |只看该作者
原帖由 zhouxb 于 2006-8-18 11:13 发表
npacklen = (ptr[2] >> 4) * 10 + (ptr[2] & 0x0f) +
               (ptr[1] >> 4) * 1000 + (ptr[1] & 0x0f) * 100 + 2;
这里npacklen代表什么?
如果ptr[1]=0X12,ptr[2]=0X34,那么npa ...

>>
>>
>>我把你的程序修改了一下:
>>
>>
#include <stdio.h>

int
main(){
    int npacklen;
    int ptr[3];
    ptr[1] = 0x12;
    ptr[2] = 0x34;
    int a,b,c,d,e;
    a = ptr[2] >> 4;
    b = ptr[2] & 0x0f;
    c = (ptr[1] >> 4);
    d = ptr[1] & 0x0f;
    e = a * 10 + b + c *1000 + d * 100 +2;
    printf("a :%x:, b :%x:, c :%x:, d :%x:, e :%x:\n");

    npacklen = (ptr[2] >> 4) * 10 + (ptr[2] & 0x0f) +
           (ptr[1] >> 4) * 1000 + (ptr[1] & 0x0f) * 100 + 2;
    printf("npacklen is :%x:\n", npacklen);
    return 0;
}
~
~
"test.c" 21L, 458C 已写入                                    
bayweb@bbs2:~$ gcc test.c
bayweb@bbs2:~$ ./a.out
a :bfffe290:, b :40016ed8:, c :bfffe2e4:, d :bfffe244:, e :400271a8:
npacklen is :4d4:
bayweb@bbs2:~$
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP