一分鍾掌握位運算符—與(&)、非(~)、或(|)、異或(^)


第一個版本:

 
位運算符的計算主要用在二進制中。

實際開發中也經常會遇到需要用到這些運算符的時候,同時這些運算符也被作為基礎的面試筆試題。
所以了解這些運算符對程序員來說是十分必要的。
於此,記錄下我所理解的運算符:

如果以開關開燈論:
有這樣兩個開關,0為開關關閉,1為開關打開。

與(&)運算

與運算進行的是這樣的算法:
0&0=0,0&1=0,1&0=0,1&1=1

在與運算中兩個開關是串聯的,如果我們要開燈,需要兩個開關都打開燈才會打開。
理解為A與B都打開,則開燈,所以是1&1=1
任意一個開關沒打開,都不開燈,所以其他運算都是0

通俗理解為A(與)&B都開則開,否則關

非(~)運算

非運算即取反運算,在二進制中1變0,0變1
110101進行非運算后為
001010即1010

或(|)運算

或運算進行的是這樣的算法:
0&0=0,0&1=1,1&0=1,1&1=1

在或運算中兩個開關是並聯的,即一個開關開,則燈開。
如果任意一個開關開了,燈都會亮。
只有當兩個開關都是關的,燈才不開。

理解為A(或)|B任意開則開

異或(^)運算

異或運算通俗地講就是一句話
同為假,異為真
所以它是這樣的算法:
0&0=0,0&1=1,1&0=1,1&1=0

 

 

 

第二個版本:

設真值為1,假值為0(true = 1, false = 0)。

與運算符:


與(&&):邏輯規則是兩真才真。與and等同。

 

 true &&  true = true    ===>   1 && 1 = 1

 true && false = false    ===>   1 && 0 = 0

 false && false = false    ===>   0 && 0 = 0

 false && true = false    ===>   0 && 1 = 0

 

或運算符:

或(||):邏輯規則是只有一個為真就為真。與or等同。

 

 true ||  true = true    ===>   1 || 1 = 1

 true || false = true    ===>   1 || 0 = 1

 false || false = false   ===>  0 || 0 = 0

 false || true = true    ===>   0 || 1 = 1


異或運算符:

異或(^):邏輯規則是兩個不同就為真。

 

 true ^  true = false    ===>   1 ^ 1 = 0

 true ^ false = true    ===>   1 ^ 0 = 1

 false ^ false = false    ===>   0 ^ 0 = 0

 false ^ true = true    ===>   0 ^ 1 = 1


非運算符:

非(!):邏輯規則是反轉操作數的含義。與not等同。

 

!true =false  ===>   !1 = 0

!false=true   ===>   !0 =1

執行順序:not > and > or

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM