^(异或)
二进制位不相同为1
@Test
public void test() {
for (int i = 0; i < 1000; i++) {
System.out.println(1 ^ i);
}
}
1
0
3
2
5
4
7
6
9
8
11
10
13
12
15
14
17
16
19
18
21
20
23
22
25
是否发现有规律的!!!
1^ 偶数 = 偶数 + 1
1^ 奇数 = 奇数 - 1
@Test
public void test1() {
System.out.println(1^1);
System.out.println(2^2);
System.out.println(3^3);
}
0
0
0
相同的两个数 异或为0
@Test
public void test1() {
System.out.println(0^1);
System.out.println(0^2);
System.out.println(0^3);
}
1
2
3
0与任意数 异或为任意数
网友评论