读书人

疑难解答解决办法

发布时间: 2012-02-14 19:19:19 作者: rapoo

疑难解答
struct w
{
int a:2;
int b:3;
int c:4;
}
void main()
{
struct w x;
x.a=3;
x.b=4;
x.c=11;
printf( "%2x %2x %2x ",x.a,x.b,x.c);
}
这题怎么做呢?%2x输出的是什么格式呢?
结构体的结构是不是这样的:0000cccc00bbb0aa( '0 '代表补0)

[解决办法]
是的,因为负数采用补码表示,所以在前面补1,取反后就是0,不影响原数的大小。这和正数在前面补0原理是一样的,所以不管正数,负数,位扩展时只需扩展符号位,数的大小保持不变

读书人网 >C语言

热点推荐