【算法】位操作

位操作特点

1、利用操作’|'与空格将英文字符转换为小写

('a' | ' ') = 'a'
('A' | ' ') = 'a'

2、利用操作’&'与空格将英文字符转换成大写

('b' & ' ') = 'B'
('B' & ' ') = 'B'

3、利用异或操作’^'与空格进行英文字符大小写转换

('c' ^ ' ') = 'C'
('C' ^ ' ') = 'c'

4、不用临时变量,交换两个数

a ^= b
b ^= a
a ^= b

5、加一

n = 1
n = -~n

6、减一

n = 2
n = ~-n

7、判断两个数是否异号

x = -1
y = 2
f = ((x ^ y) < 0)   true

8、清除数字n的二进制表示中的最后一个1

n & (n - 1)

位操作题目

leetcode 191、231、136、268

你可能感兴趣的:(算法,算法,数学建模)