位运算技巧

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
//位运算算法技巧
//不用临时变量交换两个数
a ^= b;
b ^= a;
a ^= b;
//判断是否异号(同号)
boolean f = ((x ^ y) < 0);
//利用或操作 | 和空格将英文字符转换为小写
('A' | ' ') = 'a';
//利用与操作 & 和下划线将英文字符转换为大写
('b' & '_') = 'B';
//利用异或操作 ^ 和空格进行英文字符大小写互换
('D' ^ ' ') = 'd';
//去掉最后一位1
n & (n-1);
//异或运算的特殊性质,异或运算满足交换律和结合律
a ^ a = 0;
a ^ 0 = a;
//取反码+与运算
x & ~x = 0;
x & ~0 =x;

位运算技巧
http://example.com/post/位运算技巧.html
作者
SamuelZhou
发布于
2022年10月2日
许可协议