Arduino - 按位运算符

假设变量 A 包含 60,变量 B 包含 13,则 −

运算符名称 运算符简单 说明 示例
& 二进制 AND 运算符如果两个操作数中都存在一个位,则将一个位复制到结果中。 (A & B) 将得到 12,即 0000 1100
| 二进制或运算符复制一位(如果该位存在于任一操作数中) (A | B) 将得到 61,即 0011 1101
异或 ^ 二进制 XOR 运算符复制一个操作数中设置的位,但不是两个操作数中的位。 (A ^ B) 将得到 49,即 0011 0001
~ 二进制补码运算符是一元的,具有"翻转"位的效果。 (~A ) 将给出 -60,即 1100 0011
左移 << 二进制左移运算符。左操作数值向左移动右操作数指定的位数。 << 2 将得到 240,即 1111 0000
右移 >> 二进制右移运算符。左侧操作数值向右移动右侧操作数指定的位数。 A >> 2 将得到 15,即 0000 1111

示例

void loop () {
   int a = 10,b = 20
   int c = 0;
   c = a & b ;
   c = a | b ;
   c = a ^ b ;
   c = a ~ b ;
   c = a << b ;
   c = a >> b ; 
}

结果

c = 12
c = 61
c = 49
c = -60
c = 240
c = 15

arduino_operators.html