| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 521 人关注过本帖
标题:将整型按位转换为字符组问题
取消只看楼主 加入收藏
share32
Rank: 7Rank: 7Rank: 7
等 级:黑侠
帖 子:214
专家分:663
注 册:2011-12-1
结帖率:60%
收藏
已结贴  问题点数:20 回复次数:3 
将整型按位转换为字符组问题
int dataLength=256;
    unsigned char[4];
    for (int i=0; i<4; i++) {
        len[i]=(unsigned char)dataLength>>8*(3-i)&0xff;
        printf("%d,%d\n",i,(int)len[i]);
    }

我理解结果应该是
0,0
1,0
2,1
3,0

可是实际

0,0
1,0
2,0
3,0

什么原因??
2013-06-10 20:29
share32
Rank: 7Rank: 7Rank: 7
等 级:黑侠
帖 子:214
专家分:663
注 册:2011-12-1
收藏
得分:0 
弄明白了  应该这样

len[i]=(unsigned char)(dataLength>>8*(3-i)&0xff);
2013-06-10 22:02
share32
Rank: 7Rank: 7Rank: 7
等 级:黑侠
帖 子:214
专家分:663
注 册:2011-12-1
收藏
得分:0 
回复 2楼 嗜血老妖
和你说的不是一回事
2013-06-10 22:03
share32
Rank: 7Rank: 7Rank: 7
等 级:黑侠
帖 子:214
专家分:663
注 册:2011-12-1
收藏
得分:0 
回复 3楼 YJ_Hao
是强制转换的运算优先了
2013-06-10 22:04
快速回复:将整型按位转换为字符组问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.052983 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved