共找到2條詞條名為與的結果 展開
- 漢語漢字
- “與”運算
與
“與”運算
“與”運算是計算機中一種基本的邏輯運算方式,符號表示為&,與之相對應的詞是“或”,在日常口語交流和書寫中一般做關聯詞。漢語中表示和的意思。
參加運算的兩個數據,按二進位位進行“與”運算。
運算規則: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 1111 = 0000 1110即可得到;
還可用來取X的2、4、6位。
在二進位中,只有0、1兩種數字。有如下
第一個輸入 | 第二個輸入 | 輸出結果 |
1 | 1 | 1 |
1 | ||
1 | ||
可見,只有前後兩個運算數都是 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 ]
因為位運算比%(取模)運算快,所以可對一下代碼進行優化
1 | x=x%2; |
優化
1 | x=x&1; |