标题:位域结构体的问题
取消只看楼主
nbaqqqq
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:202
专家分:137
注 册:2009-11-6
结帖率:100%
已结贴  问题点数:20 回复次数:1 
位域结构体的问题
#include<stdio.h>
#include<stdlib.h>
struct bitf
{
    unsigned bit_0:1;
    unsigned dummy:14;
    unsigned bit_15:1;
}*bit_buff;
void main()
{
unsigned short x;char buf[20];
for(;;)
{
      printf("请输入一个整型数字(若想退出请输入0)");
      gets(buf);
      if(buf[0]=='0') break;
      x=(unsigned short)atoi(buf);
      bit_buff=(struct bitf*)&x;
      printf("该数的十六进制是:%0x\n",x);
      printf("该数在本机内表示的最高位是MBS:%d\n",bit_buff->bit_15);
      
      printf("\n");
}

}
输入888  为什么最高位0最低位0
bit_buff=(struct bitf*)&x;
printf("该数在本机内表示的最高位是MBS:%d\n",bit_buff->bit_15);
printf("该数在本机内表示的最低位是LBS:%d",bit_buff->bit_0);
这三步搞不懂    请大家帮忙解释下  
搜索更多相关主题的帖子: 位域 结构体 
2010-01-26 20:58
nbaqqqq
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:202
专家分:137
注 册:2009-11-6
得分:0 
哦  这样啊                谢谢
2010-01-26 21:45



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-296551-1-1.html




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

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