// 位运算/* $a & $b; //按位与(And)。$a和$b都为1的位被设为1。$a | $b; //按位或(Or)。$a和$b任何一个为1的位被设为1。$a ^ $b; //按位异或(Xor)。$a和$b中一个为1另一个为0的位被设为1。~$a; //按位取反(Not)。$a中为0的位被设为1,反之亦然。$a << $b; //左移(Shift left)。$a中的位向左移动$b次(每次移动都表示乘以2)。$a >> $b; //右移(Shift right)。$a中的位向右移动$b次(每次移动都表示除以2)。*/
// 位运算的基本概念在编程中,位运算是处理计算机底层逻辑的重要工具。以下是常见的位运算操作及其作用: 按位与(AND)<
2. 按位或(OR)|按位或运算会将两个二进制数对应的每一位取最大值。例如,两个数的某一位任意一个为1时,结果位为1;否则为0。
3. 按位异或(XOR)^ 按位异或运算会将两个二进制数对应的每一位取不同的值。例如,当两个数的某一位相同时,结果位为0;相异时结果位为1。
4. 按位取反(NOT)~按位取反运算会将二进制数中的每一位取反。例如,0变为1,1变为0。
5. 左移(Shift left)<< 左移运算会将二进制数的所有位向左移动指定的位数,这等效于将数乘以2的相应次方。
6. 右移(Shift right)>>右移运算会将二进制数的所有位向右移动指定的位数,这等效于将数除以2的相应次方。需要注意的是,右移操作在处理负数时通常会进行填充,具体行为取决于编程语言。
掌握这些位运算操作是编程的基础知识,对于解决实际问题也有重要作用。