Arduino 按位運算符

2022-03-07 10:11 更新

假設(shè)變量A為60,變量B保持13,則:

運算符名稱
運算符簡寫
描述例子
and(與)&如果同時存在于兩個操作數(shù)中,二進(jìn)制AND運算符復(fù)制一位到結(jié)果中。(A & B) 將得出12,即0000 1100
or(或)|如果存在于任一操作數(shù)中,二進(jìn)制OR運算符復(fù)制一位到結(jié)果中。(A | B)將得出61,即0011 1101
xor(異或)^如果存在于其中一個操作數(shù)中但不同時存在于兩個操作數(shù)中,二進(jìn)制XOR運算符復(fù)制一位到結(jié)果中。(A ^ B)將得出49,即0011 0001
not(非)~二進(jìn)制NOT運算符是一元運算符,具有"翻轉(zhuǎn)"位效果。(?A)將得出-61,其為1100 0011
shift left(左移)
<<二進(jìn)制左移運算符。左操作數(shù)的值向左移動右操作數(shù)指定的位數(shù)。
A << 2將得出240,即1111 0000
shift right(右移)
>>二進(jìn)制右移運算符。左操作數(shù)的值向右移動右操作數(shù)指定的位數(shù)。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 ; 
}

結(jié)果

c = 0
c = 30
c = 30
c = -11
c = 240
c = 15


以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號