邏輯與

邏輯與

邏輯與,符號為“&&”,只有兩個運算元都是真,結果才是真。 邏輯與操作屬於短路操作,既如果第一個運算元能夠決定結果,那么就不會對第二個運算元求值。對於邏輯與操作而言,如果第一個運算元是假,則無論第二個運算元是什麼值,結果都不可能是真,相當於短路了右邊。

基本介紹

  • 中文名:邏輯與
  • 外文名:and
  • 類別邏輯運算符
  • 特點:短路操作
  • 邏輯運算符:&&
  • 別稱:邏輯相乘
簡介,邏輯運算,邏輯表達式,&與&& 的區別,邏輯與&&,按位與&,

簡介

“&&” "·"表示與 (邏輯與)是邏輯運算符
“邏輯與”相當於生活中說的“並且”,就是兩個條件都同時成立的情況下“邏輯與”的運算結果才為“真”。
邏輯運算符把各個運算的變數(或常量)連線起來組成一個邏輯表達式
邏輯運算符有3個:與(AND),或(OR),非(NOT)。在BASIC和Pascal等語言中可以在程式中直接用AND, OR,NOT作為邏輯運算符。在C語言中不能在程式中直接用AND, OR,NOT作為邏輯運算符,而是用其他符號代替,邏輯與(&&)、邏輯或(||)、邏輯非(!)。
在位運算裡面還有 &(位與)、|(位或)的運算、”xor"(異或)等。

邏輯運算

邏輯運算用來判斷一件事情是“對”的還是“錯”的,或者說是“成立”還是“不成立”,判斷的結果是二值的,即沒有“可能是”或者“可能不是”,這個“可能”的用法是一個模糊概念,在計算機裡面進行的是二進制運算,邏輯判斷的結果只有二個值,稱這二個值為“邏輯值”,用數的符號表示就是“1”和“0”。其中“1”表示該邏輯運算的結果是“成立”的,如果一個邏輯運算式的結果為“0”,那么這個邏輯運算式表達的內容“不成立“。
邏輯運算 (logical operators) 通常用來測試真假值。最常見到的邏輯運算就是循環的處理,用來判斷是否該離開循環或繼續執行循環內的指令。
邏輯與運算的規則可以用“真值表”描述,兩個數據對象之間的邏輯運算規則見表如下:
A
B
A&&B
!A
A||B
0
0
0
1
0
0
1
0
1
1
1
0
0
0
1
1
1
1
0
1

邏輯表達式

用邏輯運算符將運算對象連線起來的表達式稱為邏輯表達式,在C語言中,構成邏輯運算的數據對象除了關係表達式外,還可以是任意的其他表達式。對其他表達式而言,非0值以邏輯“真(即1)”參加邏輯運算,0值以邏輯“假”參加邏輯運算。邏輯表達式的運算結果是一個邏輯值(即0或者1)。
C語言中進行邏輯表達式求值運算時,不但要注意邏輯運算符本身的運算規則,而且還必須要遵循下面的兩條原則:
·對邏輯表達式從左到右進行求解。
·短路原則:在邏輯表達式的求解過程中,任何時候只要邏輯表達式的值已經可以確定,則求解過程不再進行,求解結束。
具體理解邏輯表達式運算規則時,可以採用這樣的步驟:
①找到表達式中優先權最低的邏輯運算符,以這些運算符為準將整個邏輯表達式分為幾個計算部分。
②從最左邊一個計算部分開始,按照算術運算、關係運算和邏輯運算的規則計算該部分的值。每計算完一個部分就與該部分右邊緊靠著的邏輯運算符根據真值表進行邏輯值判斷。
③如果已經能夠判斷出整個邏輯表達式的值則停止其後的所有計算:只有當整個邏輯表達式的值還不能確定的情況下才進行下一個計算部分的計算。

&與&& 的區別

布爾“位”運算符與邏輯運算符比較相似,不同之處在於邏輯運算的最終結果為真或假,而布爾“位”運算符的結果是一個具體數據。

邏輯與&&

表示邏輯與的意思,即為and。當運算符兩邊的表達式的結果都為true時,整個運算結果才為true,否則,只要有一方為false,則結果為false。
比如12&&23的結果就是1,12&&-1的結果是1,123&&0的結果就是0。
&&還具有短路的功能,即如果第一個表達式為false,則不再計算第二個表達式,例如,對於if(str != null && !str.equals(“”))表達式,當str為null時,後面的表達式不會執行。

按位與&

按位運算指的是把字元變成二進制然後 按位運算。
表示按位與。
&表示按位與操作,我們通常使用0x0f來與一個整數進行&運算,來獲取該整數的最低4個bit位,例如,0x31 & 0x0f的結果為0x01。
二進制與運算規則:1&1=1 1&0=0 0&0=0
15&127為什麼等於15啊?
15二進制: (0000 1111)
127二進制: (1111 1111)
按位與自然就是(0000 1111)=15

相關詞條

熱門詞條

聯絡我們