在C語言中,一個豎杠(|
)表示按位或(bitwise OR)操作符。它對兩個數值進行操作,比較它們對應的每一位(bit),如果至少有一個為1,那么結果的相應位將被設置為1。
例如,假設我們有以下兩個二進制數:
a = 1100 (十進制的12)
b = 1010 (十進制的10)
計算a | b
的結果:
1100
| 1010
-------
1110
結果是二進制數1110
,換算成十進制數為14。所以,a | b
的結果是14。
在C語言中,你可以使用按位或操作符來組合位掩碼(bitmasks),用于設置、清除或切換某些位。例如,你可以使用按位或操作符來設置一個整數的某些位:
#include<stdio.h>
int main() {
int num = 5; // 二進制表示為 0101
int mask = 3; // 二進制表示為 0011
int result = num | mask; // 結果為 0111,即十進制的7
printf("Result: %d\n", result);
return 0;
}
這個例子中,我們將num
和mask
的二進制表示進行按位或操作,得到的結果是0111
,即十進制的7。