Skip to content
本站總訪問量
本站訪客數 人次

布林代數

邏輯運算

& 位元與運算(AND)

位元與運算符將兩個數字的每個位元進行比較。如果兩個位元都為1,則結果為1;否則為0。

F(x,y)=xy
ABA & B
000
010
100
111

例如: 5 & 3 = 1 (二進制:0101 & 0011 = 0001)

範例

python
a = 5
b = 3
c = a & b
print(c) # 1

| 位元或運算(OR)

位元或運算符將兩個數字的每個位元進行比較。如果至少一個位元為1,則結果為1;否則為0。

F(x,y)=x+y
ABA | B
000
011
101
111

例如: 5 | 3 = 7 (二進制:0101 | 0011 = 0111)

範例

python
a = 5
b = 3
c = a | b
print(c) # 7

^ 位元異或運算(XOR)

位元異或運算符將兩個數字的每個位元進行比較。如果兩個位元不同,則結果為1;否則為0。

F(x,y)=xy
ABA ^ B
000
011
101
110

例如: 5 ^ 3 = 6 (二進制:0101 ^ 0011 = 0110)

範例

python
a = 5
b = 3
c = a ^ b
print(c) # 6

~ 位元反轉運算(NOT)

位元反轉運算符將數字的每個位元進行反轉。0變成1,1變成0。

A~A
01
10

例如: ~5 = -6 (二進制:~0101 = 1010,補碼表示法)

範例

python
a = 5
c = ~a
print(c) # -6

布林代數定律

名稱ANDOR
交換律 (Commutative Law)AB=BAAB=BA
結合律 (Associative Law)(AB)C=A(BC)(AB)C=A(BC)
分配律 (Distributive Law)A(BC)=(AB)(AC)A(BC)=(AB)(AC)
同一律 (Identity Law)A1=AA0=A
補數律 (Complement Law)AA=0A+A=1
德摩根定律 (De Morgan's Laws)(AB)=A+B(A+B)=AB

範例

布林函數的化解

吸收律 (Absorption Law)

範例1

x+xy=x

證明:

x + xy = x1+xy

= x(1+y)

= x1

= x

範例2

x+xy=x+y

證明:

x+xy=x1+xy

=x(1+y)+xy

=x+xy+xy

=x+1y

=x+y

<< 左移運算(Left Shift)

左移運算符將所有位元向左移動指定的位數,右側補0。

AA << 1
00
12
24
36
48
510

例如: 5 << 1 = 10 (二進制:0101 << 1 = 1010)

範例

python
a = 5
c = a << 1
print(c) # 10

>> 右移運算(Right Shift)

右移運算符將所有位元向右移動指定的位數,左側補符號位。

AA >> 1
00
10
21
31
42
52

例如: 5 >> 1 = 2 (二進制:0101 >> 1 = 0010)

範例

python
a = 5
c = a >> 1
print(c) # 2

牛刀小試

Contributors

The avatar of contributor named as lucashsu95 lucashsu95

Changelog