Loading... 计算机中的数据都是按二进制储存的,位运算就是对二进制位进行的运算。位运算是最低级的运算,有对应的汇编指令及机器码,速度比其他高级运算快。我们也可以利用位运算实现状态压缩,充分利用每一个二进制位。 | 运算符 | | 名称 | 描述 | 例 | | - | - | - | - | - | | & | and | 与 | 如果两个二进制位都为1,则该位的结果值为1,否则为0 | 0b1011 & 0b1001 = 0b1001 | | \| | or | 或 | 两个二进制位中只要有一个为1,则该位的结果值为1 | 0b0101 \| 0b1101 = 0b1101 | | ^ | xor | 异或 | 若两个二进制位值相同则为0,否则为1 | 0b1010 ^ 0b0011 = 0b1001 | | ~ | not | 取反 | 对于一个二进制数,0变1,1变0 | ~ 0b0110 = 0b1001 | | << | | 左移 | 将一个数的各二进制位全部左移N位,右补0 | 0b1011 << 0b0010 = 0b1100 | | >> | | 右移 | 将一个数的各二进制位右移N位,低位舍弃,高位补0 | 0b0111 >> 0b0001 = 0b0011 | 位运算符的优先级比较低,使用时应注意加括号。 © 允许规范转载 赞赏 如果我的文章对你有用,请随意赞赏 赞赏作者 微信
1 条评论
star