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