複製鏈接
請複製以下鏈接發送給好友

(“與”運算)

鎖定
“與”運算是計算機中一種基本的邏輯運算方式,符號表示為&,與之相對應的詞是“或”,在日常口語交流和書寫中一般做關聯詞。漢語中表示和的意思。
中文名
外文名
and(英語)
外文名
et(法語)
pascal標識符
and
c++標識符
&

用法

與運算的用法 與運算的用法
參加運算的兩個數據,按二進制位進行“與”運算。
運算規則:
0&0=0;
0&1=0;
1&0=0;
1&1=1;
即:兩位同時為“1”,結果才為“1”,否則為0
例如:3&5即 0000 0011 & 0000 0101 = 0000 0001因此,3&5的值得1。
另,負數按補碼形式參加按位與運算。
“與運算”的特殊用途
(1)清零。如果想將一個單元清零,即使其全部二進制位為0,只要與一個各位都為零的數值相與,結果為零。
(2)取一個數中指定位
方法:找一個數,對應X要取的位,該數的對應位為1,其餘位為零,此數與X進行“與運算”可以得到X中的指定位。
例:設X=10101110,
取X的第4位,用 X & 0000 1000 = 0000 1000即可得到;
還可用來取X的2、4、6位。

定義

二進制中,只有0、1兩種數字。有如下
第一個輸入
第二個輸入
輸出結果
1
1
1
1
0
0
0
1
0
0
0
0
可見,只有前後兩個運算數都是 1 的時候結果才是1。其效果與“或”相逆,各有不同用途。
同樣原理運用到真假中 真true=1 假 false=0
第一個輸入
第二個輸入
輸出結果
true
true
true
true
false
false
false
true
false
false
false
false

用途

置位歸零

使一個二進制數中的某一個/幾個數位歸零,其餘數位不影響(不變)。
[註解:....H 是表示十六進制數....B 是表示二進制數]
欲歸零的數位應置 0,其餘數位置 1
(15)H & (FF)H = (15)H
[解析 15 H=0001,0101 B ; FF H=1111,1111 B 按位相“與”,得到0001,0101 B 即為 15 H ]

巧用取模

因為位運算比%(取模)運算快,所以可對一下代碼進行優化
x=x%2;
優化
x=x&1;