这个题printf括号里的语句什么意思?
2个回答
展开全部
>>代表将二进制数右移,前面是原始数据,后面是移位位计数;<<是左移
这里用8位二进制推算:
x=23D=00010111B
p+1-n=2+1-2=1
x>>(p+1-n)=23D>>1=00010111B>>1=00001011B,最低位被移出并舍弃,最高位补成原最高位取值
~0=11111111B
~0<<n=11111111B<<2=11111100B,最低位补0
~(~0<<n)=~11111100B=00000011B
(x>>(p+1-n))&~(~0<<n)=00001011B&00000011B=00000011B=3D
因此输出:3
这里用8位二进制推算:
x=23D=00010111B
p+1-n=2+1-2=1
x>>(p+1-n)=23D>>1=00010111B>>1=00001011B,最低位被移出并舍弃,最高位补成原最高位取值
~0=11111111B
~0<<n=11111111B<<2=11111100B,最低位补0
~(~0<<n)=~11111100B=00000011B
(x>>(p+1-n))&~(~0<<n)=00001011B&00000011B=00000011B=3D
因此输出:3
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询