Arduino 按位运算符
2022-03-07 10:11 更新
假设变量A为60,变量B保持13,则:
运算符名称 | 运算符简写 | 描述 | 例子 |
---|---|---|---|
and(与) | & | 如果同时存在于两个操作数中,二进制AND运算符复制一位到结果中。 | (A & B) 将得出12,即0000 1100 |
or(或) | | | 如果存在于任一操作数中,二进制OR运算符复制一位到结果中。 | (A | B)将得出61,即0011 1101 |
xor(异或) | ^ | 如果存在于其中一个操作数中但不同时存在于两个操作数中,二进制XOR运算符复制一位到结果中。 | (A ^ B)将得出49,即0011 0001 |
not(非) | ~ | 二进制NOT运算符是一元运算符,具有"翻转"位效果。 | (〜A)将得出-61,其为1100 0011 |
shift left(左移) | << | 二进制左移运算符。左操作数的值向左移动右操作数指定的位数。 | A << 2将得出240,即1111 0000 |
shift right(右移) | >> | 二进制右移运算符。左操作数的值向右移动右操作数指定的位数。 | 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 = ~ 1 ; c = a << b ; c = a >> b ; }
结果
c = 0 c = 30 c = 30 c = -11 c = 240 c = 15
以上内容是否对您有帮助:
更多建议: