常用技巧总结"/>
位运算的一些常用技巧总结
与恶龙缠斗过久,自身亦成为恶龙;
凝视深渊过久,深渊将回以凝视。
尼采《善恶的彼岸》
- number 和 number-1 上做 AND 位运算时,原数字 number 的最右边等于 1 的比特会被移除。
注意:该算法发布在 1988 年 《C 语言编程第二版》的练习中(由 Brian W. Kernighan 和 Dennis M. Ritchie 编写),但是 Donald Knuth 在 2006 年 4 月 19 日指出,该方法第一次是由 Peter Wegner 在 1960 年的 CACM3 上出版。顺便说一句,可以在上述书籍中找到更多位操作的技巧。
- 巧妙的异或运算(自身异或结果为0)
异或运算有以下三个性质。
任何数和 0 做异或运算,结果仍然是原来的数,即 a ⊕ 0=a。
任何数和其自身做异或运算,结果是 0,即 a⊕a=0。
异或运算满足交换律和结合律,即 a⊕b⊕a=b⊕a⊕a=b⊕(a⊕a)=b⊕0=b。
参考资料
- /
- /
更多推荐
位运算的一些常用技巧总结
发布评论