邏輯與 按位與 邏輯或 按位或 邏輯非 按位非

邏輯與、邏輯或、邏輯非是對boolean值得操作,屬於離散數學範疇。
按位與、按位或、按位非是對計算機位的操作,屬於計算機二進制位運算範疇。
邏輯與 都是真才真 c中區分&、&&的區別。
邏輯或 有真就是真 c中區分|、||的區別。
邏輯非 假才真 c中爲!。
按位與、按位或、按位非按照上面的規則對每一位進行邏輯運算,其中1代表真0代表假。

 

一、按位與運算:

參加運算的兩個數據,按二進位進行“與”運算。如果兩個相應的二進位都爲1,則該位的結果值爲1,否則爲0。即
    0&0=0;0&1=0;1&0=0;1&1=1;
例如: 3&5 並不等於8,應該是按位與。
               3 = 00000011
           (&)   5 = 00000101
                   00000001
因此,3&5的值得1。如果參加&是負數運算的是負數(如-3 & -5),則以補碼形式表示爲二進制數,然後按位進行“與”運算。
按位與有一些特殊的用途:
(1)清零。 如果想將一個單元清零,即使其全部二進位爲0,只要找一個二進制數,其中各個位符合以下條件:原來的數中爲1的位,新數中相應位爲0。然後使二者進行&運算,即可達到清零目的。
如:原有數爲00101011,另找一個數,設它爲10010100,它符合以上條件,即在原數爲1的位置上,它的位值均爲0。將兩個數進行&運算:
00101011
(&)     10010100
00000000                                                  
其道理是顯然的。
當然也可以不用10010100這個數而用其他數(如01000100)也可以,只要符合上述條件即可。
(2)取一個數中某些指定位。如有一個整數a(2個字節),想要其中的低字節。
只需將a與(737)8按位與即可。

二、邏輯與運算:

“&&”(邏輯與)是邏輯運算符。


 

  “邏輯與”相當於生活中說的“並且”,就是兩個條件都同時成立的情況下“邏輯與”的運算結果才爲“真”。


 

  邏輯運算符把各個運算的變量(或常量)連接起來組成一個邏輯表達式。


 

  邏輯運算符有4個,它們分別是: !(邏輯非)、 ||(邏輯或)、&&(邏輯與) ^(異或)。在位運算裏面還有 &(位與)、|(位或)的運算。


 

  什麼是邏輯運算--邏輯運算用來判斷一件事情是“對”的還是“錯”的,或者說是“成立”還是“不成立”,判斷的結果是二值的,即沒有“可能是”或者“可能不是”,這個“可能”的用法是一個模糊概念,在計算機裏面進行的是二進制運算,邏輯判斷的結果只有二個值,稱這二個值爲“邏輯值”,用數的符號表示就是“1”和“0”。其中“1”表示該邏輯運算的結果是“成立”的,如果一個邏輯運算式的結果爲“0”,那麼這個邏輯運算式表達的內容“不成立“。


 

  1&&1 = 1


 

  1&&0 = 0


 

  0&&0 = 0

=================================================================================================================

程序猿和程序媛必備的咖啡-OneDay咖啡生活-https://shop110384469.taobao.com/


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章