取一个整数a从右端开始的4-7位,程序如下:

取一个整数a从右端开始的4-7位,程序如下:
main()
{unsigned a,b,c,d;
scanf("%o",&a);
b=a>>4;
c=~(~0<<4);(这条语句怎么理解)
d=b&c;
printf("%o,%o\n",a,d);
}

第1个回答  2012-04-05
取c为1111 然后和b去and 的4~7 (不过你确定程序中的4不是3?)追问

(~0<<4);这个值是多少

追答

10000 (我是问b=a>>3? 还是说整数是从第0位开始的?)

追问

b=a>>4;

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网