首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

疑难解答解决办法

2012-02-14 
疑难解答structw{inta:2intb:3intc:4}voidmain(){structwxx.a3x.b4x.c11printf( %2x%2x%2x ,x

疑难解答
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原理是一样的,所以不管正数,负数,位扩展时只需扩展符号位,数的大小保持不变

热点排行