黑马程序员技术交流社区
标题:
位运算问题
[打印本页]
作者:
沙子
时间:
2014-12-16 22:24
标题:
位运算问题
请问如何利用位运算来交换两个整数?举例说明一下。
作者:
叫我小强
时间:
2014-12-16 23:30
一个数据对同一个数据异或两次,结果还是数据本身
例如: a^b^b=a
将两个数位置进行调换的话就用下面这个
a=a^b;
b=a^b;
a=a^b;
一般情况下使用第三方变量将两个数进行换位
int temp = a;
a = b;
b = temp;
作者:
冷风
时间:
2014-12-16 23:34
a=a^b;
b=a^b;//b=(a^b)^b
a=a^b;//a=(a^b)^(a^b^b)
作者:
牧歌
时间:
2014-12-16 23:39
同一个数异或同一个数两次还是原数啊。
作者:
Lscreat
时间:
2014-12-16 23:41
学到了,谢谢啊。
作者:
木乃伊
时间:
2014-12-16 23:49
答得好详细:sleepy:
作者:
时间都去哪了
时间:
2014-12-16 23:51
^这就是我的小尾巴,不信你踩踩
作者:
Bali
时间:
2014-12-17 00:13
int a=1,b=2;
a=a^b;
b=a^b;
a=a^b;
输出a和b就ok了!
作者:
x277402301t
时间:
2014-12-18 00:17
一个如果异或同一个数两次就等于他本身
作者:
林文龙
时间:
2014-12-18 05:43
毕姥爷的基础视频里面有讲到三种:一种是最直接的:使用中间值:int temp = a;
a = b;
b = temp;优点:直观,阅读快高;
二:逻辑型:int a=4;int b=8;
a=a+b;
b=a-b;
a=a-b;
三,技巧型:a=a^b;
b=a^b;
a=a^b;
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2