二進制布爾運算

二進制布爾運算

二進制布爾運算是對二進制數進行布爾運算的一種運算。二進制數的布爾運算有“與”、“或”、“非”和“異或”4種,二進制布爾運算在計算機編程中有廣泛的套用,二進制布爾運算符為與(&),或(|),異或(^),當其運算元是布爾值時,它們就是邏輯運算符。

基本介紹

  • 中文名:二進制布爾運算
  • 外文名:Binary Boolean Operation
  • 類型:邏輯運算
  • 套用:計算機編程
  • 命名者:喬治·布爾
  • 時間:1947年
基本概念,運算規則,運算符及套用,計算方法,

基本概念

布爾運算簡介
喬治·布爾(George Boole,1815.11.2~1864),用數學方法研究邏輯問題,成功地建立了邏輯演算,出版了《邏輯的數學分析》。他用等式表示判斷,把推理看作等式的變換。這種變換的有效性不依賴人們對符號的解釋,只依賴於符號的組合規律 。這一邏輯理論人們常稱它為布爾代數。20世紀30年代,邏輯代數在電路系統上獲得套用,隨後,由於電子技術與計算機的發展,出現各種複雜的大系統,它們的變換規律也遵守布爾所揭示的規律。
布爾運算是數字元號化的邏輯推演法,包括聯合、相交、相減。在圖形處理操作中引用了這種邏輯運算方法以使簡單的基本圖形組合產生新的形體,並由二維布爾運算發展到三維圖形的布爾運算。
二進制布爾運算
二進制數的布爾運算有“與”、“或”、“非”和“異或”4種,二進制布爾運算在計算機編程中有廣泛的套用。

運算規則

布爾運算是一種邏輯運算,邏輯運算是指對因果關係進行分析的一種運算。邏輯運算的結果並不表示數值大小,而是表示一種邏輯概念,若成立用真或1表示,若不成立用假或0表示。
二進制數的布爾運算有“與”、“或”、“非”和“異或”4種。
“與”運算(AND)
“與”運算又稱邏輯乘,用符號“×”或“∧”來表示。運算規則如下:
0∧0 = 0
0∧1 = 0
1∧0 = 0
1∧1 = 1
即當兩個參與運算的數的對應碼位中有一個數為0,則運算結果為0,只有兩碼位對應的數都為1結果才為1。這與二進制數乘法運算是一樣的。
“或”運算(OR)
“或”運算又稱邏輯加,用符號“+”或“∨”表示。運算規則如下:
0∨0 = 0
0∨1 = 1
1∨0 = 1
1∨1 = 1
即當兩個參與運算數的相應碼位只要有一個數為1,則運算結果為1,只有兩碼位對應的數均為0,結果才為0。
“非”運算(NOT)
“非”運算實現邏輯否定,即進行求反運算,用符號“—”表示。“非”運算規則:
0 = 1
1 = 0
注意“非”運算只是針對一個數所進行的“運算”,這與前面的“與”和“或”運算不一樣,它的實質意義就是取反。如“10111101”進行“非”運算後就得到“01000010”,對比相應位即可驗證以上運算規則了。
“異或”運算(XOR)
“異或”運算用符號“⊕ ”來表示。其運算規則如下:
0⊕0 = 0
0⊕1 = 1
1⊕0 = 1
1⊕1 = 0
即當兩個參與運算的數取值相異時,運算結果為1,否則為0。

運算符及套用

二進制布爾運算符:與(&),或(|),異或(^),當其運算元是布爾值時,它們就是邏輯運算符。對於運算符兩邊的運算元不管真假與否,都會先計算出來結果後再進行布爾邏輯運算;當其運算元是整數時,它們就是位運算符。
“與”運算符
與運算符用符號“&”表示,其使用規律如下:
兩個運算元中位都為1,結果才為1,否則結果為0,例如下面的程式段。
public class data13
{
public static void main(String[] args)
{
int a=129;
int b=128;
System.out.println("a 和b 與的結果是:"+(a&b));
}
}
運行結果:
a 和b 與的結果是:128
“a”的值是129,轉換成二進制就是10000001,而“b”的值是128,轉換成二進制就是10000000。根據與運算符的運算規律,只有兩個位都是1,結果才是1,可以知道結果就是10000000,即128。
“或”運算符
或運算符用符號“|”表示,其運算規律如下:
兩個位只要有一個為1,那么結果就是1,否則就為0,下面看一個簡單的例子。
public class data14
{
public static void main(String[] args)
{
int a=129;
int b=128;
System.out.println("a 和b 或的結果是:"+(a|b));
}
}
運行結果
a 和b 或的結果是:129
a 的值是129,轉換成二進制就是10000001,而b 的值是128,轉換成二進制就是10000000,根據或運算符的運算規律,只有兩個位有一個是1,結果才是1,可以知道結果就是10000001,即129。
“非”運算符
非運算符用符號“~”表示,其運算規律如下:
如果位為0,結果是1,如果位為1,結果是0,下面看一個簡單例子。
public class data15
{
public static void main(String[] args)
{
int a=2;
System.out.println("a 非的結果是:"+(~a));
}
}
“異或”運算符
異或運算符是用符號“^”表示的,其運算規律是:
兩個運算元的位中,相同則結果為0,不同則結果為1。下面看一個簡單的例子。
public class data16
{
public static void main(String[] args)
{
int a=15;
int b=2;
System.out.println("a 與 b 異或的結果是:"+(a^b));
}
}
運行結果
a 與 b 異或的結果是:13
a 的值是15,轉換成二進制為1111,而b 的值是2,轉換成二進制為0010,根據異或的運算規律,可以得出其結果為1101 即13。

計算方法

二進制布爾運算符:與(&),或(|),異或(^),當其運算元是布爾值時,它們就是邏輯運算符。對於運算符兩邊的運算元不管真假與否,都會先計算出來結果後再進行布爾邏輯運算;當其運算元是整數時,它們就是位運算符。
條件布爾運算符:條件與(&&),條件或(||),條件非(!)運算符,只能對布爾值進行計算,並且從左到右,如果有一個運算元為真,就不再計算它右邊的運算元,直接得出計算結果。

熱門詞條

聯絡我們