http://student.csdn.net/space.php?do=question&ac=detail&qid=1728
有几处不明白 请高手指点:
#include <iostream>
using namespace std;
struct byte
{
unsigned int a1:1; //这里:1是表示1位?是最高位还是最低位? 为什么最后结果是1
int a2:1;
int a3:1;
int a4:1;
int a5:1;
int a6:1;
int a7:1; //a7的最后结果是-1 a1与a7不同??
int a8:1;
};
union b
{
char c;
struct byte bit;
}union_a;
int main(int argc, char *argv[])
{
union_a.c = 'A';
cout << (union_a.bit.a7 + union_a.bit.a1) << endl;
return 0;
}