一道习题册上的题,求大神解答

qq_40407534 2017-10-05 08:25:08
[size=24px]public class TestOR{
public static void main(String[] args){
int a= 111111;
int b = 22222
//以下代码将a与b值互换
a=a^b; b= a^b; a=a^b;
System.out.println(a+"...."+b);
}
}
...全文
321 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq_40407534 2017-10-06
  • 打赏
  • 举报
回复
引用 4 楼 lastyearing 的回复:
功能:实现两个数交换。 原理:相同值异或为0,不同值异或为1. a=a^b,b=a^b,则b=a^b=a^b^b=a,a=a^b=a^a^b=b
a^b^b=a这个怎么计算出来的啊?我看不懂啊
lastyearing 2017-10-06
  • 打赏
  • 举报
回复
功能:实现两个数交换。 原理:相同值异或为0,不同值异或为1. a=a^b,b=a^b,则b=a^b=a^b^b=a,a=a^b=a^a^b=b
dangyb 2017-10-06
  • 打赏
  • 举报
回复
这大概是个数学问题。
lastyearing 2017-10-06
  • 打赏
  • 举报
回复
引用 7 楼 lastyearing 的回复:
[quote=引用 5 楼 qq_40407534 的回复:] [quote=引用 4 楼 lastyearing 的回复:] 功能:实现两个数交换。 原理:相同值异或为0,不同值异或为1. a=a^b,b=a^b,则b=a^b=a^b^b=a,a=a^b=a^a^b=b
a^b^b=a这个怎么计算出来的啊?我看不懂啊[/quote] 两个数如果相同,按位异或的结果就是0,所以b^b的结果就是0,a和0按位异或,每一位就还是不变的,所以结果还是a。 例如用二进制表示1010^1010=0000,1010^0000=1010[/quote] 可以把原来的两个变量用x,y表示,会清晰一点,则a=x^y,b=a^y=x^y^y=x
qq_40407534 2017-10-06
  • 打赏
  • 举报
回复
引用 7 楼 lastyearing 的回复:
[quote=引用 5 楼 qq_40407534 的回复:] [quote=引用 4 楼 lastyearing 的回复:] 功能:实现两个数交换。 原理:相同值异或为0,不同值异或为1. a=a^b,b=a^b,则b=a^b=a^b^b=a,a=a^b=a^a^b=b
a^b^b=a这个怎么计算出来的啊?我看不懂啊[/quote] 两个数如果相同,按位异或的结果就是0,所以b^b的结果就是0,a和0按位异或,每一位就还是不变的,所以结果还是a。 例如用二进制表示1010^1010=0000,1010^0000=1010[/quote] a^b=a^b^b这个是为什么啊
lastyearing 2017-10-06
  • 打赏
  • 举报
回复
引用 5 楼 qq_40407534 的回复:
[quote=引用 4 楼 lastyearing 的回复:] 功能:实现两个数交换。 原理:相同值异或为0,不同值异或为1. a=a^b,b=a^b,则b=a^b=a^b^b=a,a=a^b=a^a^b=b
a^b^b=a这个怎么计算出来的啊?我看不懂啊[/quote] 两个数如果相同,按位异或的结果就是0,所以b^b的结果就是0,a和0按位异或,每一位就还是不变的,所以结果还是a。 例如用二进制表示1010^1010=0000,1010^0000=1010
qq_40407534 2017-10-06
  • 打赏
  • 举报
回复
引用 4 楼 lastyearing 的回复:
功能:实现两个数交换。 原理:相同值异或为0,不同值异或为1. a=a^b,b=a^b,则b=a^b=a^b^b=a,a=a^b=a^a^b=b
引用 4 楼 lastyearing 的回复:
功能:实现两个数交换。 原理:相同值异或为0,不同值异或为1. a=a^b,b=a^b,则b=a^b=a^b^b=a,a=a^b=a^a^b=b
a^b=a^b^b这个是为什么啊
李德胜1995 2017-10-05
  • 打赏
  • 举报
回复
qq_40407534 2017-10-05
  • 打赏
  • 举报
回复
正確答案就是 a=a^b; b= a^b; a=a^b; 没看懂,求解答

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧