或与异或的本质区别

初学开发的人,总是搞不清“或“运算和“异或“运算的本质区别,只知道对于或运算来说,结果是:只要有一个为1,就为1,只有都为0才为0;而异或的结果是相同为0,不同为1,这么说大家只是记住了一个运算法则,确不明白它们的意义,举个例子来说它们之间的区别:

先说或的意义:

有学生证或者血型是AB型的人才可以免费吃我们提供的午餐,这里存在3种情况都可以免费吃午餐:

1)有学生证的人

2)AB型的人,可能不是学生啊!

3)既是AB型,又有学生证的人,两种条件都满足,这是或运算最大的特点。

再说异或的意义:

只有中国人和美国人可以免费领取我们提供的特色服务,这里只有两种情况:

1)是中国人

2)是美国人

大家仔细思考,异或没有既是中国人,又是美国人的情况,因为一个人的国籍只可能是一种,这就是异或与或最大的差别,在异或中,测试对象只可能满足一个条件,而在或运算中,测试对象可以同时满足2个条件。

猜你喜欢

转载自blog.csdn.net/u011711997/article/details/52464248
今日推荐