读书人

位域型赋值有关问题求解答

发布时间: 2013-04-26 16:27:53 作者: rapoo

位域型赋值问题,求解答
代码如下

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两个值。

读书人网 >C++

热点推荐