常见的位操作及其应用
概述
与、或、异或、取反或者移位运算这几种基本的位操作想必诸位读者并不陌生,如果我们能在某些合适场景下使用位运算,有些时候可以大大提高算法的效率。但由于本身位运算太过灵活,甚至某些技巧比较苦涩难懂,因而,本篇文章主要介绍几种常见的或者有趣的位操作,并且给出一些用到这些技巧的算法题目,便于读者练习。
有趣的操作
1. 大小写字母转换
- 利用
或操作
和空格将英文字母转成小写
('a' | ' ') = 'a';
('A' | ' ') = 'a';
- 利用与运算
&
和下划线将英文字符转换成大写
('b' & '_') = 'B';
('B' & '_') = 'B';
- 利用异或运算
^
和空格进行英文字符大小写互换
('d' ^ ' ') = 'D';
('D' ^ ' ') = 'd'
常用指数: