java中异或^运算符的运用
来源:互联网 发布:smt贴片机编程 编辑:程序博客网 时间:2024/06/05 11:01
java的位运算符中有一个叫异或的运算符,用符号(^)表示,其运算规则是:两个操作数的位中,相同则结果为0,不同则结果为1。下面看一个例子:
public class TestXOR{
public static void main(String[] args){
int i = 15, j = 2;
System.out.println("i ^ j = " + (i ^ j));
}
}
运行结果是:i ^ j = 13.
分析上面程序,i=15转成二进制是1111,j=2转成二进制是0010,根据异或的运算规则得到的是1101,转成十进制就是13.
利用这个规则我们可以灵活运用到某些算法。比如,假定有2K+1个数,其中有2k个相同,需要找出不相同的那个数,比如:2、3、4、4、3、5、6、6、5。我们利用异或运算符就可以这样写:
public class TestXOR{
public static void main(String[] args){
int[] array = {2,3,4,4,3,5,6,6,5};
int v = 0;
for (int i = 0;i < array.length;i++) {
v ^= array[i];
}
System.out.println("只出现一次的数是:" + v);
}
}
结果是:只出现一次的数是2.
我们就是巧用异或运算符的规则,得出一个数和0异或还是自己,一个数和自己异或是0的原理。
0 0
- java中异或^运算符的运用
- Java中异或^运算符的运用
- java中异或^运算符的运用
- 异或运算的经典运用
- 异或运算的神奇运用
- 运用异或运算符实现加密
- 码农小汪剑指Offer之38-数组中只出现一次的数字 异或运算的运用
- 剑指offer--数组中只出现一次的数字--异或运算、二进制运用
- zyf的童年(异或运算的运用)
- js中位运算符的运用
- Java运算符的实际运用
- Java的异或运算
- 运算符的运用
- 运算符的运用
- java中与运算,或运算,异或运算,取反运算
- Java中运用位运算符的屏蔽技术求得整数的各个位
- java中与或非,异或,位运算
- 如何在不用第三个变量的情况下进行元素互换(^异或运算符的运用)
- 理解 Keystone 的四种 Token
- 精通二叉排序树
- 使用urllib和BeautifulSoup怕取维基百科的数据
- Leetcode刷题记——32. Longest Valid Parentheses(最长有效括号)
- JAVA IO流的操作-----将一个文件夹中Html文件转为JSP文件
- java中异或^运算符的运用
- linux install mysql
- 包含RecyclerView的module导入项目出现的问题
- 面对机会,最缺的是把握
- SQLite导出整个数据库/导出某个表到SQL文件
- new operator,operator new and replacement new
- PE 301 Nim (Nim博弈)
- leetcode 404 Sum of Left Leaves C++
- 最大连续字段和