3.8 位操作符

from http://www.learncpp.com/cpp-tutorial/38-bitwise-operators/

位操作符的由来主要是为了更充分的利用内存,如果使用bool型变量,它是一个字节大小,其中一个字节的内存中只有一个位被利用,其余的位都被浪费了。但是现在内存是充裕的,程序员发现往往将代码表达的更加让人理解,更加容易维护是一种更好的选择。

因此,位操作符的使用不再像最初那么平常了,除了一些特殊的环境中,如需要巨型数据处理的科学计算,或需要超速执行的游戏中,仍然会被使用。不管怎么样,对它有个充分的认识和理解还是必须的。

OperatorSymbolFormOperation
left shift << x << y all bits in x shifted left y bits
right shift >> x >> y all bits in x shifted right y bits
bitwise NOT ~ ~x all bits in x flipped
bitwise AND & x & y each bit in x AND each bit in y
bitwise OR | x | y each bit in x OR each bit in y
bitwise XOR ^ x ^ y each bit in x XOR each bit in y

注意 当我们使用位操作符时,使用的变量类型通常是无符号整型。

 

为操作符的原理通常很简单,但是要将它用活,通常是有一定难度的。

posted @ 2012-05-22 20:43  grassofsky  阅读(263)  评论(0编辑  收藏  举报