java异或运算虽然不常用,但偶尔在系统中会看到,这里备忘一下,其基本原理如下:
真^假=真
假^真=真
假^假=假
真^真=假,
就是说:只要两个条件同时为真或假,其结果都为假(这里要注意区别Java的与运算---其为真真为真,假假为假);
但仅当两条件中一个为真,另一个为假时,结果为真。
但Java的异或运算还有一个前提那就是它都是以二进制数据为基础进行的运算。
也就是说当我们在使用代码中使用到异或运算时,它都会先将两个条件进行转换,转换成二进制数据后,再进行运算,例如:
int a = 4^6;这里的4和6 都是int型数据,在进行运算时,4对应的二进制数为:100(0100);6对应的是:110(0110),这样实际的运算方程是:int a = 0100^0110;此时再来看:0<-->0=0;1<-->1=0;0<-->1=1;0<-->0=0;这样运算的结果就是:0010(这是二进制的数据),对应转换成十进制就是2.
以上就是Java里面对于异或运算的内部运算机制。
下面看下异或解决两个实际的问题:
1
如果要把两个整型变量a、b的值交换,一般要采用一个中间变量做过渡,但也可以在不借助任何其它变量的情况下完成。试填写缺失的代码。
a = a ^ b;
b = _________;
a = _________;
真异或真为假,假异或假为假 || 真异或假为真,假异或真为真,
答案即
a=a ^ b;
b=a ^ b;
a=a ^ b;
2.100个数,范围是1~99 ,其中有一个重复,求重复的数字
有一个数组a[100],其中存储了1-99的整数,且只有一个数字是重复的。
要求告终一个算法给出这个重复的数。
题目的含义是总共同100个数字,1-99定然都有,然后有一个数是重复的。
措施1:有个结论如下:1^2^3……98^99 = 0,因而该题目能够利用这个规律。
对所有的数据举行异或计算,最后的收获即便重复的数字。(当然你可以用其他方法来求解这个题,如求和再减去1到99的和或者其他方法)
note:
一个规律:在异或到N得过程中(1^2^3^……^N),N = 4M,则异或结果为4M,N = 4M - 1,则异或结果为0,N = 4M - 2,则异或结果为4M - 1,N = 4M - 3,则异或结果为1.
分享到:
相关推荐
可进行十六进制字符串按位异或运算,就是输入十六进制数,每个十六进制数间输入空格,然后点输出即可得到结果
异或运算的性质: 异或运算是基于⼆进制的位运算,采⽤符号XOR或者^来表⽰,运算规则是就与⼆进制,如果是同值取0、异值取1。 简单的理解就是不进位加法,例如1+1=0,0+0=0,1+0=0; 性质: 1. 交换律 可以任意交换...
异或运算 进行加密 delphi编写异或运算 进行加密 delphi编写异或运算 进行加密 delphi编写异或运算 进行加密 delphi编写异或运算 进行加密 delphi编写异或运算 进行加密 delphi编写异或运算 进行加密 delphi编写异或...
Example.java异或运算(简单的加密,解密) PrintErrorAndDebug.java输出错误信息与调试信息 test.java实现两个变量的互换(不借助第3个变量)
java异或
加密解密 (利用异或运算) 进行异或加密解密运算
基于BP网络的异或运算多阈值神经元的实现 基于BP网络的异或运算多阈值神经元的实现 毕业论文专用
用于计算十六进制的异或运算,内含源文件以及执行文件
异或运算,传入两个数据进行异或运算。得到相应的数据
最新单片机仿真 用P0口显示按位异或运算结果最新单片机仿真 用P0口显示按位异或运算结果最新单片机仿真 用P0口显示按位异或运算结果最新单片机仿真 用P0口显示按位异或运算结果最新单片机仿真 用P0口显示按位异或...
异或运算加密(Delphi) 一个Delphi写的异或加密解密工具
异或运算的真值表,例子展示异或运算 该资源仅供学习!!!
282-用P0口显示按位异或运算结果(51单片机C语言实例Proteus仿真和代码)282-用P0口显示按位异或运算结果(51单片机C语言实例Proteus仿真和代码)282-用P0口显示按位异或运算结果(51单片机C语言实例Proteus仿真和代码)...
异或运算在卡诺图中的表示方法,将他们紧密的联系在一起。
主要介绍了Java编程实现对十六进制字符串异或运算代码示例,简述了异或运算以及具体实例,具有一定借鉴价值,需要的朋友可以参考下。
基于Keil+51单片机用P0口显示按位异或运算结果.rar(源码+仿真)基于Keil+51单片机用P0口显示按位异或运算结果.rar(源码+仿真)基于Keil+51单片机用P0口显示按位异或运算结果.rar(源码+仿真)基于Keil+51单片机用P...
什么是异或运算,异或运算的作用参考.doc
奇偶校验的基本运算是异或运算。实现这一功能的电路称为奇校验电路;输出端加一个非门,则可得到偶校验电路。通常合二为一,称为奇偶校验电路。
异或运算加密,开发环境vs2013,仅支持整型数据加密,能够实现加密和解密。
异或校验工具。十六进制异或值计算。。。。。。。。。。