我想请教一下,如何用两个整数异或,来判断两个整数是否相等。

taseaa 2010-04-28 09:55:42
我想请教一下,如何用两个整数异或,来判断两个整数是否相等。
...全文
1007 25 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
25 条回复
切换为时间正序
请发表友善的回复…
发表回复
johnelf 2010-04-28
  • 打赏
  • 举报
回复
mao
我就看看。。
FingerStyle 2010-04-28
  • 打赏
  • 举报
回复
空格跟优先级 有毛的关系 = =
azure110 2010-04-28
  • 打赏
  • 举报
回复
用不着再 跟了..请自己尝试吧.
baihacker 2010-04-28
  • 打赏
  • 举报
回复
bitxinhai 2010-04-28
  • 打赏
  • 举报
回复
[Quote=引用 16 楼 classpatterns 的回复:]

引用 8 楼 bitxinhai 的回复:

引用 4 楼 baihacker 的回复:

引用 2 楼 bitxinhai 的回复:
int a1 = 10,a2 = 10;
if(a1^a2 == 0)
cout<<"="<<endl;
else
cout<<"!="<<endl;
a2 = 30;
if(a1^a2 == 0)
cout<<"="<<endl;
e……
[/Quote]

请问大侠,你能把所有的运算符的优先级,一一的正确罗列出来吗???

FingerStyle 2010-04-28
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 bitxinhai 的回复:]

引用 4 楼 baihacker 的回复:

引用 2 楼 bitxinhai 的回复:
int a1 = 10,a2 = 10;
if(a1^a2 == 0)
cout<<"="<<endl;
else
cout<<"!="<<endl;
a2 = 30;
if(a1^a2 == 0)
cout<<"="<<endl;
else
cout<<"!="<<endl;

……
[/Quote]

请问您是怎么到5个裤衩的。空格哪来的优先关系。
lylm 2010-04-28
  • 打赏
  • 举报
回复
谢谢,
请教一下,如何将它(A^b)的结果映射成0和1?

比如:
int c[2];
if(a==b){c[0]++;}
将a^b结果映射成0和1==》c[a^b];

>>a^b不能映射成1,a,b不相等时,a^b非0,但并不是1,可以下面这样
if ((a^b) == 0)
{
d=0;
}
else
{
d=1;
}
然后用d作数组下标
bitxinhai 2010-04-28
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 baihacker 的回复:]

引用 8 楼 bitxinhai 的回复:
引用 4 楼 baihacker 的回复:

引用 2 楼 bitxinhai 的回复:
int a1 = 10,a2 = 10;
if(a1^a2 == 0)
cout<<"="<<endl;
else
cout<<"!="<<endl;
a2 = 30;
if(a1^a2 == 0)
cout<<"="<<endl;
els……
[/Quote]

多谢,受教了。。。
taseaa 2010-04-28
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 baihacker 的回复:]

!!(a^b)
[/Quote]

if(a==b){c[0]++;}else{c[1]++;} 换成异或==> c[!!(a^b)]++;

这样吗?
谢谢。
baihacker 2010-04-28
  • 打赏
  • 举报
回复
!!(a^b)
taseaa 2010-04-28
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 baihacker 的回复:]

引用 7 楼 taseaa 的回复:
引用 6 楼 delphiwcdj 的回复:

引用 1 楼 baihacker 的回复:

if ((a^b) == 0)
{
相等;
}
else
{
不等;
}

相同的两个数异或为0

那不相同为1对吗?

感谢你的跟帖。

不相同,非零。
[/Quote]

谢谢,
请教一下,如何将它(A^b)的结果映射成0和1?

比如:
int c[2];
if(a==b){c[0]++;}
将a^b结果映射成0和1==》c[a^b];
baihacker 2010-04-28
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 taseaa 的回复:]
引用 6 楼 delphiwcdj 的回复:

引用 1 楼 baihacker 的回复:

if ((a^b) == 0)
{
相等;
}
else
{
不等;
}

相同的两个数异或为0

那不相同为1对吗?

感谢你的跟帖。
[/Quote]
不相同,非零。
baihacker 2010-04-28
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 bitxinhai 的回复:]
引用 4 楼 baihacker 的回复:

引用 2 楼 bitxinhai 的回复:
int a1 = 10,a2 = 10;
if(a1^a2 == 0)
cout<<"="<<endl;
else
cout<<"!="<<endl;
a2 = 30;
if(a1^a2 == 0)
cout<<"="<<endl;
else
cout<<"!="<<endl;

……
[/Quote]

空格和优先级无关。
bitxinhai 2010-04-28
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 baihacker 的回复:]

引用 2 楼 bitxinhai 的回复:
int a1 = 10,a2 = 10;
if(a1^a2 == 0)
cout<<"="<<endl;
else
cout<<"!="<<endl;
a2 = 30;
if(a1^a2 == 0)
cout<<"="<<endl;
else
cout<<"!="<<endl;

注意运算优先级,关系运算是高于二元位运算的
[/Quote]

a1^a2 == 0
看清楚了,关键是==的前后都有一个空格的,难道这不影响这个表达式的运算优先级吗???
taseaa 2010-04-28
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 delphiwcdj 的回复:]

引用 1 楼 baihacker 的回复:

if ((a^b) == 0)
{
相等;
}
else
{
不等;
}

相同的两个数异或为0
[/Quote]
那不相同为1对吗?

感谢你的跟帖。
delphiwcdj 2010-04-28
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 baihacker 的回复:]

if ((a^b) == 0)
{
相等;
}
else
{
不等;
}
[/Quote]
相同的两个数异或为0
taseaa 2010-04-28
  • 打赏
  • 举报
回复
我Google了一下,好像是这样:
return ((a ^ b) == 0)

类似这样:

if(a==b){C++;}
如果使用异或来完成思路应该是怎样呢。

baihacker 2010-04-28
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 bitxinhai 的回复:]
int a1 = 10,a2 = 10;
if(a1^a2 == 0)
cout<<"="<<endl;
else
cout<<"!="<<endl;
a2 = 30;
if(a1^a2 == 0)
cout<<"="<<endl;
else
cout<<"!="<<endl;
[/Quote]
注意运算优先级,关系运算是高于二元位运算的
z569362161 2010-04-28
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 baihacker 的回复:]
if ((a^b) == 0)
{
相等;
}
else
{
不等;
}
[/Quote]

是这样的吗????????????????????
bitxinhai 2010-04-28
  • 打赏
  • 举报
回复
int a1 = 10,a2 = 10;
if(a1^a2 == 0)
cout<<"="<<endl;
else
cout<<"!="<<endl;
a2 = 30;
if(a1^a2 == 0)
cout<<"="<<endl;
else
cout<<"!="<<endl;
加载更多回复(5)

33,321

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 新手乐园
社区管理员
  • 新手乐园社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧