搜索
编程论坛
→
开发语言
→
『 C语言论坛 』
→ 求大神帮忙,不用中间值交换变量,此时异或在这里如何解释!
标题:
求大神帮忙,不用中间值交换变量,此时异或在这里如何解释!
只看楼主
zuylin
等 级:
新手上路
帖 子:9
专家分:2
注 册:2012-7-29
结帖率:
100%
楼主
已结贴
√
问题点数:5 回复次数:6
求大神帮忙,不用中间值交换变量,此时异或在这里如何解释!
在交换变量时,有种方法如下:a=a^b;b=a^b;a=a^b;请问各位大神这是怎么一步一步转换得来的???
[
本帖最后由 zuylin 于 2012-7-30 17:52 编辑
]
搜索更多相关主题的帖子:
交换
如何
2012-07-30 17:40
madfrogme
等 级:
版主
威 望:
21
帖 子:1160
专家分:1106
注 册:2009-6-24
第
2
楼
得分:1
http://graphics.stanford.edu/~seander/bithacks.html
The quieter you become, the more you can hear
2012-07-30 17:52
silent_world
等 级:
蜘蛛侠
威 望:
1
帖 子:258
专家分:1138
注 册:2011-9-24
第
3
楼
得分:1
一个数异或本身等于0,你把下面的看懂了,原理是一样的。
a=a+b;b=a-b;a=a-b
2012-07-30 18:23
御版美钱
等 级:
论坛游民
帖 子:5
专家分:12
注 册:2012-7-20
第
4
楼
得分:1
异或不同为1
a=111 b=100
a=a^b=011
b=a^b=011^100=111
a=a^b=011^111=100
2012-07-30 18:26
longlong89
来 自:广州
等 级:
小飞侠
威 望:
6
帖 子:1043
专家分:2754
注 册:2009-8-18
第
5
楼
得分:1
告诉你 一个数的异或的异或等于本身
比如:n^123^123=n
想象力征服世界
2012-07-30 19:23
beyondyf
等 级:
贵宾
威 望:
103
帖 子:3282
专家分:12654
注 册:2008-1-21
第
6
楼
得分:1
呃,这种问题下次就别在短信息里问我了。
简单解释一下
1.异或的定义
0^0 = 0
0^1 = 1
1^0 = 1
1^1 = 0
2.异或满足交换律
a^b = b^a
特殊的
0^a = a^0 = a
1^a = a^1 = ~a(表示a取反,本来该是a头上一横)
a^a = 0
a^(~a) = 1
3.异或满足结合律
(a^b)^c = a^(b^c)
由上面的定律可以简单地推出
a^b^a = a^a^b = 0^b = b
a^b^b = a^0 = a
明白了吗?
重剑无锋,大巧不工
2012-07-30 20:16
zuylin
等 级:
新手上路
帖 子:9
专家分:2
注 册:2012-7-29
第
7
楼
得分:0
回复 6楼 beyondyf
谢谢斑竹,明白了!0与任何数异或都是自身,且均是按位异或!!
2012-07-31 21:49
7
1/1页
1
参与讨论请移步原网站贴子:
https://bbs.bccn.net/thread-374388-1-1.html
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 1.362718 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved