| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 413 人关注过本帖
标题:关于位段的一个问题
只看楼主 加入收藏
feng00055
Rank: 2
等 级:论坛游民
帖 子:56
专家分:27
注 册:2009-8-26
结帖率:100%
收藏
已结贴  问题点数:17 回复次数:4 
关于位段的一个问题
sizeof(int)=4


int main(int argc, char *argv[])
{
    struct packed_data
    {
        unsigned a : 16;
    }A,B;
    A.a=0XFFFF;
    B.a=A.a&0XAAAA;
    printf("%X\n",B.a);
    return 0;
}

运行结果是:FFFF                    



int main(int argc, char *argv[])
{
    struct packed_data
    {
        unsigned a : 16;
    }A,B;
    A.a=0XFFFF;
    B.a=0XAAAA;
    printf("%X\n",A.a&B.a);
    return 0;
}

运行结果是:AAAA
为什么第一个的结果不是:AAAA
搜索更多相关主题的帖子: return 
2009-10-27 20:20
玩出来的代码
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:河南新乡
等 级:贵宾
威 望:11
帖 子:742
专家分:2989
注 册:2009-10-12
收藏
得分:5 
两个一样的,运行后结果都一样!LZ怎么做的?

离恨恰如春草,更行更远还生。
2009-10-27 21:05
feng00055
Rank: 2
等 级:论坛游民
帖 子:56
专家分:27
注 册:2009-8-26
收藏
得分:0 
我的IDE是pelles c,sizeof(int)=4,
应该在sizeof(int)=4 的所有IDE中都一样
2009-10-27 21:13
玩出来的代码
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:河南新乡
等 级:贵宾
威 望:11
帖 子:742
专家分:2989
注 册:2009-10-12
收藏
得分:0 
A.a和A.b都是16位的,在int为2位环境下都可以,4位怎么不行呢,

离恨恰如春草,更行更远还生。
2009-10-27 21:27
m456m654
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:3
帖 子:783
专家分:2806
注 册:2009-9-17
收藏
得分:5 
在tc下测试第一题也是AAAA
2009-10-27 22:49
快速回复:关于位段的一个问题
数据加载中...
 
   



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

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