int类型如何按位操作?
按位分配的int,也分有符号和无符号两种,
int类型按位操作如下:
typedef xp
{
int a:2;
unsigned int b:2;
}MyXp;
MyXp x;
x.a = 3;
x.b = 3;
这样,输出的x.a为-1,x.b为3。
同时,大家看到,这种分配方法是定义在struct中的。如果你在代码中直接定义:int a:2;编译时会导致错误,无法识别“:”。
这是因为int是内建类型,它不能被改变内存分配的方式。所以单独的int,不能直接被声明为只占2位。