博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
一些有意思的小案例(换个思路想问题)
阅读量:3959 次
发布时间:2019-05-24

本文共 569 字,大约阅读时间需要 1 分钟。

案例

1、java系列

1.1、异或

异或是一种基于二进制的位运算,用符号XOR或者 ^ 表示,其运算法则是对运算符两侧数的每一个二进制位,同值取0,异值取1。

所有的程序教科书都会向初学者指出,要交换两个变量的值,必须要引入一个中间变量。如下代码所示:

int a = 10;        int b = 20;        int temp = 0;        temp = a;        a = b;        b = temp;        System.out.println(a);        System.out.println(b);

而在这里的话,我们不允许引用第三个变量来进行操作,只能使用这两个变量进行操作,那又该如何将这两个变量的值进行替换呢?

这个时候就需要使用到异或了,即对给定的数A,用同样的运算因子(B)作两次异或运算后仍得到A本身。

int a = 121;		int b = 211;		System.out.println(a ^ b);		System.out.println("b--->" + (a ^ b ^ a));		System.out.println("a--->" + (a ^ b ^ b));

类似地,该运算还可以应用在加密,数据传输,校验等等许多领域。

转载地址:http://rkqzi.baihongyu.com/

你可能感兴趣的文章
有关乱码的处理---中国程序员永远无法避免的话题
查看>>
JSP的运行内幕
查看>>
python超简单的web服务器
查看>>
代理模式、静态代理、动态代理、aop
查看>>
Struts1.x Spring2.x Hibernate3.x DWR2.x整合工具文档v1.00
查看>>
大型Web2.0站点构建技术初探
查看>>
机器学习算法汇总:人工神经网络、深度学习及其它
查看>>
解决Spring中AOP不能切入Struts的DispatchAction方法的问题
查看>>
出国以后才知道英语应该怎么学
查看>>
计算机专业权威期刊投稿经验总结
查看>>
如何在三个月内学会一门外语?
查看>>
看看你对Linux到底了解多少?
查看>>
网上看到的:ARM入门最好的文章(转)
查看>>
中国最美情诗100句
查看>>
javascript注册window的onload事件问题研究
查看>>
客户端技术分页控件javascript+css,可用于任何服务器端技术
查看>>
学习Swing 的网站[转]
查看>>
Google App engine 的第一个应用 midispot
查看>>
提问的智慧
查看>>
关于dom4j无法解析xmlns问题及生成非UTF-8字符集乱码问题的解决
查看>>