計算機中的邏輯運算又被稱作為「布林運算」,分別為:邏輯與運算、邏輯或運算,邏輯非運算,「邏輯異或運算。此外在閘電路中還有:同或運算、與非運算、或非運算。共七種。
這七種邏輯運算中,只有 邏輯非運算 是一元邏輯運算(乙個運算引數),其他六種均是二元邏輯運算(兩個運算引數)。邏輯運算只有兩個布林值:
邏輯與運算,運算規則:全一為一,有零為零。即只有兩個引數值都為1
時,結果才為1
,其他情況均為0
(也可以說,只要有0
,結果就為0
)。請參考下表:
輸入值1
輸入值2
輸出結果11
1100
0100
00邏輯或運算,運算規則:全零為零,有一為一。即只有兩個引數值都為0
時,結果才為0
,其他1情況均為1
(也可以說,只要有1
,結果就為1
)。請參考下表:
輸入值1
輸入值2
輸出結果11
1101
0110
00邏輯非運算,運算規則:一變零,零變一。即引數值為1
時結果為0
,引數值為0
時結果為1
。請參考下表:
輸入值輸出結果10
01邏輯或運算是乙個運算引數的一元邏輯運算。
邏輯異或運算,運算規則:相異為一,相同為零。即兩個引數值不一樣時結果為1
,兩個引數值相同時結果為0
。請參考下表:
輸入值1
輸入值2
輸出結果11
0101
0110
00邏輯同或運算,運算規則:相同為一,相異為零。與異或運算規則相反。即兩個引數值相同時結果為1
,兩個引數值不一樣時結果為0
。請參考下表:
輸入值1
輸入值2
輸出結果11
1100
0100
01邏輯與非運算,運算規則:先與後非(全一為零,有零為一)。也就是將兩個引數先進行「邏輯與運算」,將結果再進行「邏輯非運算」,產生最終的結果。請參考下表:
輸入值1
輸入值2
與結果輸出結果11
1010
0101
0100
01邏輯或非運算,運算規則:先或後非(全零為一,有一為零)。也就是將兩個引數先進行「邏輯或運算」,將結果再進行「邏輯非運算」,產生最終的結果。請參考下表:
輸入值1
輸入值2
或結果輸出結果11
1010
1001
1000
01
計算機的邏輯運算
上一節 十六進製制與資料寬度 我們提到,計算是有寬度的。比如 乙個二進位制數 1111 1111 1111 1111 b 我們用4位,4位書寫形式ffff這樣比較簡單。計算機除了算術運算外,還有邏輯運算,只有二進位制才能進行邏輯運算。邏輯運算只有對與錯,成與敗兩個結果 也就是0和1 0 0 0 0 ...
計算機邏輯運算總結
在計算機二進位制中,最高位表示符號位,若為0表示正數,若為1表示負數。同時我們需要清楚知道原碼 反碼 補碼的概念,這裡請自行了解。取非 反 在二進位制補碼中,要獲取數字的負數,需反轉所有位並加1。比如 5 5是00000101,那麼 5則是 11111010 00000001 11111011,然後...
計算機中整數的加減運算
通常在程式設計時,會預設將指標以及位址等說明為無符號整數,故其遵循無符號整數的加減運算。在其他情況下面,通常都是進行帶符號的整數運算,但是這兩種運算的本質其實是相通的,因為在計算機內部,這些有無符號整數的加減或者乘除操作其實都是通過相同的加法器來完成的 在加法器內部通過輸入進行判斷是輸出無符號還是有...