社区
Java SE
帖子详情
一个奇怪的结果?怎么解释这段代码
HZ1918
2007-04-04 05:15:45
int x = 1984;
int y = 2001;
x ^= y ^= x ^= y;
System.out.println("x = " + x + "; y = " + y);
...全文
787
26
打赏
收藏
一个奇怪的结果?怎么解释这段代码
int x = 1984; int y = 2001; x ^= y ^= x ^= y; System.out.println("x = " + x + "; y = " + y);
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
26 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
fjwns
2007-04-05
打赏
举报
回复
输出的结果是x=0,y=1984 ,想不通?
fengniumaxi
2007-04-05
打赏
举报
回复
x=x^y;
y=x^y;
x=x^y;
x=x^y^x^y;
y=x^y^y;
所以最后运算结果是x=0,y=x(这的x是初始x值)=1984
一句话 这个运算是从右向左的
HZ1918
2007-04-05
打赏
举报
回复
x^=y^=x^=y;
这个在c和java中表现不是一样的
malligator
2007-04-05
打赏
举报
回复
x ^= y;
y ^= x;
x ^= y;
迷眼流金
2007-04-05
打赏
举报
回复
这样写……
Happybolin1030
2007-04-05
打赏
举报
回复
先将x,y转化为二进制数,然后从x ^= y ^= x ^= y从右向左依次按0^0 = 0
0^1 = 1,1^1 = 0,1^0 = 1公式进行计算,最后的到x=0,y=1984的结果
pcno1
2007-04-05
打赏
举报
回复
学习
Summmmer
2007-04-05
打赏
举报
回复
这种代码没有一丝一毫的好处,可读性极差,有什么意义呢???走火入魔了。。。
李黄河
2007-04-05
打赏
举报
回复
#include <stdio.h>
main()
{
int x = 255;
int y = 0;
x^=y^=x^=y;
printf("x=%d,y=%d\n",x,y);
}
-------------
测度正确。
李黄河
2007-04-05
打赏
举报
回复
int x = 1984;
int y = 2001;
x ^= y ^= x ^= y;
System.out.println("x = " + x + "; y = " + y);
------------------------------------
a=x^y;
b=y^a;
c=a^b;
代入:
y=y^x^y=x;
x=x^y^y^x^y=y;
------------------------------------
结论:互换x,y;
For_suzhen
2007-04-04
打赏
举报
回复
看了一下,应该是2楼说得异或.相同的都为0
0^0 = 0
0^1 = 1
1^1 = 0
1^0 = 1
For_suzhen
2007-04-04
打赏
举报
回复
逻辑或,非0即1
=================
非0即1?那是肯定的了
=========================
学习学习
lixiaoxue85
2007-04-04
打赏
举报
回复
x ^= y ^= x ^= y;
逻辑或,非0即1
HZ1918
2007-04-04
打赏
举报
回复
这个不是c语言是java板块的,你怎么把这些搞到的?
binny
2007-04-04
打赏
举报
回复
Code:
0: sipush 1984
3: istore_1
4: sipush 2001
7: istore_2
8: iload_1
9: iload_2
10: iload_1
11: iload_2
12: ixor
13: dup
14: istore_1
15: ixor
16: dup
17: istore_2
18: ixor
19: istore_1
HZ1918
2007-04-04
打赏
举报
回复
不要误导
x=x^y;
y=x^y;
x=x^y;
《=/=》
x^=y^=x^=y;
「已注销」
2007-04-04
打赏
举报
回复
x=x^y;
y=x^y;
x=x^y;
VS
x^=y^=x^=y;
HZ1918
2007-04-04
打赏
举报
回复
哦知道了,首先后面的y=x,然后x=x^y,其实就是x=x^x
HZ1918
2007-04-04
打赏
举报
回复
x ^= y ^= x ^= y;--> x = x ^ (y = y ^ (x = x ^ y));
x为什么为0?
HZ1918
2007-04-04
打赏
举报
回复
蛮厉害的
加载更多回复(6)
一个
奇怪
的查询结果
本文通过
一个
具体的案例展示了在Mysql中创建视图并进行不同条件查询时出现的
奇怪
现象,即简单查询与带有排序的查询结果不一致的情况。
【Image】GAN的超详细
解释
(以及
奇怪
的问题)
本文介绍了生成对抗网络(GAN)的原理,包括生成器和鉴别器的工作流程与对抗学习方式。从数学上
解释
了GAN的价值函数,还穿插介绍了KL散度和JS散度。最后给出mnist生成数字的GAN
代码
,指出最终生成结果存在初始噪声不同但生成很多相同东西的
奇怪
问题。
关于
这段
奇怪
代码
的
解释
本文详细
解释
了ARM系统中映像文件的组成及其各部分的作用,重点介绍了RO、RW及ZI区域的概念,并通过实例说明如何计算这些区域的地址。
openGL之API学习(一五五)glsl中mod的
奇怪
结果
博客主要探讨了OpenGL中GLSL里mod函数的
奇怪
结果。如mod(2049, 2)等多个不能整除的计算结果异常,能整除的则正常。不能整除时结果为正确余数加1,增加数值不小于除数则调整为0。将参数改为浮点型后结果恢复正常,原因是mod无整型参数。
【bfs】
奇怪
的电梯
这篇博客探讨了
一个
关于
奇怪
电梯的问题,其中电梯的上行和下行取决于每层楼的数字。通过输入的楼层信息,需要找出从A楼到B楼的最少按键次数。博主提出采用广度优先搜索(BFS)来解决这个问题,详细
解释
了解题思路,并提供了
代码
实现和分析。
Java SE
62,622
社区成员
307,255
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章