一个异或运算的经验

[复制链接]
2011|19
 楼主| 午夜粪车 发表于 2014-11-21 12:46 | 显示全部楼层 |阅读模式
参与运算的两个值,如果两个相应bit位相同,则结果为0,否则为1。
即:
   0^0 = 0,
      1^0 = 1,
      0^1 = 1,
      1^1 = 0

例如:10100001^00010001=10110000
 楼主| 午夜粪车 发表于 2014-11-21 12:46 | 显示全部楼层
按位异或的3个特点:
(1) 0^0=0,0^1=1  0异或任何数=任何数
(2) 1^0=1,1^1=0  1异或任何数-任何数取反
(3)              任何数异或自己=把自己置0
zhanghqi 发表于 2014-11-21 12:48 | 显示全部楼层
多谢楼主分享
heweibig 发表于 2014-11-21 12:49 | 显示全部楼层
自己总结的?有更深层的吗?
dengdc 发表于 2014-11-21 13:08 | 显示全部楼层
楼主可以讲解一下异或运算的深层次的东西
dengdc 发表于 2014-11-21 13:12 | 显示全部楼层
比如状态判断时候的应用!
lizye 发表于 2014-11-21 13:14 | 显示全部楼层
赞一个。这个总结很好。看看430的位操作,取反就是用的异或。
heweibig 发表于 2014-11-21 13:15 | 显示全部楼层
这是非常基本的操作啊,单片机长须中很多的数据校验就采取的是异或方式
jiahy 发表于 2014-11-21 13:18 | 显示全部楼层
楼上各位,各有心得!
不错不错

2楼的都有口诀了!
 楼主| 午夜粪车 发表于 2014-11-21 13:19 | 显示全部楼层
呵呵,多谢大家捧场,结贴啦
aresc 发表于 2014-11-23 09:59 | 显示全部楼层
凑个热闹,用异或交换两个数x,y:
x ^= y, y^=x, x^=y. 不需要借助额外的变量。
angerbird 发表于 2014-11-23 22:22 | 显示全部楼层
狠简单明了的啊。。。参考了。
smilingangel 发表于 2014-11-24 20:55 | 显示全部楼层
这个非常简明扼要啊,,很基础性的知识的啊。
waitingf 发表于 2014-11-24 21:34 | 显示全部楼层
跟着楼主学习经验
someonewho 发表于 2014-11-24 21:42 | 显示全部楼层
了解了 多谢分享
justbybing 发表于 2014-11-24 21:43 | 显示全部楼层
好经验 楼主强大
specialfrin 发表于 2014-11-24 21:50 | 显示全部楼层
就是这些不经意的小问题经常酿成大错
someontime 发表于 2014-11-24 21:57 | 显示全部楼层
学习学习 楼主辛苦
comeon201208 发表于 2014-11-25 23:09 | 显示全部楼层
该介绍比较基础型的,,不过很好。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

867

主题

10194

帖子

3

粉丝
快速回复 在线客服 返回列表 返回顶部