位域型赋值有关问题,求解答
位域型赋值问题,求解答代码如下struct btest{int a:1int b:1int c:6btest(){memset(this, 0, 1)}}这
位域型赋值问题,求解答
代码如下
struct btest
{
int a:1;
int b:1;
int c:6;
btest()
{
memset(this, 0, 1);
}
};
这样赋值后,为什么a和b的值为-1,
btest bt;
bt.a = 1;
bt.b = 1;
bt.c = 2;
我知道用unsigned int可以解决问题,但是为什么int不行 struct
[解决办法]int是有符号的,1bit的有符号数只有-1和0两个值。