“位與”的版本間的差異
來自ALSROBOT WiKi
(以“按位與(&)<br> 按位操作符在變量的位級執(zhí)行運算。它們幫助解決各種常見的編程問題。以下大部分資料來自一個有關位數(shù)...”為內(nèi)容創(chuàng)建頁面) |
2014年9月12日 (五) 13:30的最后版本
按位與(&)
按位操作符在變量的位級執(zhí)行運算。它們幫助解決各種常見的編程問題。以下大部分資料來自一個有關位數(shù)學的優(yōu)秀教程,或許可以在這里找到。[1]
描述和語法
以下是所有這些運算符的描述和語法。更詳細的資料或許可以在參考指南中找到。
按位與(&)
在C++中按位與運算符是單個與符號,
用于其它兩個整型表達式之間使用。按位與運算獨立地在周圍的表達式的每一位上執(zhí)行操作。根據(jù)這一規(guī)則:如果兩個輸入位都是1,結果輸出1,否則輸出0。表達這一思想的另一個方法是:
0 0 1 1 operand1 0 1 0 1 operand2 ---------- 0 0 0 1 (operand1 & operand2) - returned result
在Arduino中,int型是16位的。所以在兩個整型表達式之間使用&將會導致16個與運算同時發(fā)生。代碼片斷就像這樣:
int a = 92; // in binary: 0000000001011100 int b = 101; // in binary: 0000000001100101 int c = a & b; // result: 0000000001000100, or 68 in decimal.
在a和b的16位的每一位將使用按位與處理。且所有16位結果存入C中,以二進制存入的結果值01000100,即十進制的68。
按位與的其中一個最常用的用途是從一個整型數(shù)中選擇特定的位,常被稱為掩碼屏蔽??慈缦率纠?br />