-
與
(“與”運算)
鎖定
- 中文名
- 與
- 外文名
- 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;