
c++题目、求高人解答
4个回答
展开全部
1|1,两个bit或运算,只要有其中一个为1则为1
~1|1,~优先级大于|,先将1按位取反得0,再与1进行或,结果还是1
1^1,异或,等同于表达式(1 || 1) && !(1 && 1),每一对应的bit上至少有一个为1,且两个不都为1,所以结果是0
1>>2,将1按位右移2个bit,得到0(01),结果为0
↑
第一个0是a原先的位置,后面的01已经被移出表达范围了
~1|1,~优先级大于|,先将1按位取反得0,再与1进行或,结果还是1
1^1,异或,等同于表达式(1 || 1) && !(1 && 1),每一对应的bit上至少有一个为1,且两个不都为1,所以结果是0
1>>2,将1按位右移2个bit,得到0(01),结果为0
↑
第一个0是a原先的位置,后面的01已经被移出表达范围了
展开全部
a|a=1
~a|a=(~a)|a=-1
a^a=0
a>>2; a=0,
~a|a=(~a)|a=-1
a^a=0
a>>2; a=0,
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2011-09-15
展开全部
#include"iostream.h"
main()
{bool a=1;
bool b1,b2,b3,b4;
b1=a|a;
b2=~a|a;
b3=a^a;
b4=a>>2;
cout<<b1<<endl<<b2<<endl<<b3<<endl<<b4<<endl;
}
结果:
1
1
0
0
main()
{bool a=1;
bool b1,b2,b3,b4;
b1=a|a;
b2=~a|a;
b3=a^a;
b4=a>>2;
cout<<b1<<endl<<b2<<endl<<b3<<endl<<b4<<endl;
}
结果:
1
1
0
0
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
a|a = 1
~a|a = -1
a^a = 0
a>>2 = 0
~a|a = -1
a^a = 0
a>>2 = 0
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询