位邏輯演算法
Ⅰ 二進制的算術運算和邏輯運算
二進制的算術運算和邏輯運算方法如下:
二進制邏輯運算,邏輯變數之間的運算稱為邏輯運算。二進制數1和0在邏輯上可以代表「真」與「假」、「是」與「否」、「有」與「無」。這種具有邏輯屬性的變數就稱為邏輯變數。
簡介:
計算機的邏輯運算的算術運算的主要區別是:邏輯運算是按位進行的,位與位之間不像加減運算那樣有進位或借位的聯系。
運算演算法:
邏輯乘法(「與」運算)邏輯乘法通常用符號「×」或「∧」或「·」來表示。邏輯乘法運算規則如下:
0×0=0,0∧0=0,0·0=0
0×1=0,0∧1=0,0·1=0
1×0=0,1∧0=0,1·0=0
1×1=1,1∧1=1,1·1=1
不難看出,邏輯乘法有「與」的意義。它表示只當參與運算的邏輯變數都同時取值為1時,其邏輯乘積才等於1。邏輯否定("非"運算)邏輯非運算又稱邏輯否運算。其運算規則為:
0=1「非」0等於1
1=0「非」1等於0
異或邏輯運算(「半加」運算)編輯異或運算通常用符號"⊕"表示,其運算規則為:
0⊕0=00同0異或,結果為0
0⊕1=10同1異或,結果為1
1⊕0=11同0異或,結果為1
1⊕1=01同1異或,結果為0
即兩個邏輯變數相異,輸出才為1。
Ⅱ 在PHP中【邏輯運算符】和【位運算符】有什麼本質的區別
這個很難細說,不過和C語言中的邏輯運算符和位運算符是一樣區別的
下面給個參考(摘至某人博客):
一、邏輯運算符:
包括:1。&&邏輯與 2。||邏輯或 3。!邏輯非
邏輯運算符用於對包含關系運算符的表達式進行合並或取非
對於使用邏輯運算符的表達式,返回0表示「假」,返回1表示「真」。關於邏輯運算符的解釋
請注意:任何使用兩個字元做符號的運算符,兩字元之間不應有空格,即將==寫成= =是錯誤的。
假設一個程序在同時滿足條件a<10和b==7時,必須執行某些操作。應使用關系運算符和邏輯運算符「與」來寫這個
條件的代碼。用&&表示「與」運算符,該條件代碼如下:
(a<10) && (b==7);
類似地,「或」是用於檢查兩個條件中是否有一個為真的運算符。它由兩個連續的管道符號(||)表示。如果上例
改為:如果任一語句為真,則程序需執行某些操作,則條件代碼如下:
(a<10) || (b==7);
第三個邏輯運算符「非」用一個感嘆號(!)表示。這個運算符對表達式的真值取反。例如,如果變數s小於10,程序
程序需執行某些操作,則條件代碼如下:
(s<10)
或
(!(s>=10)) //s不大於等於10
關系運算符和邏輯運算符的優先順序一般都低於算術運算符。例如,5>4+3的計算與5>(4+3)運算符是一樣的,即
先計算4+3,再執行關系運算。此表達示的結果為「假」,即,將返回0。
下面的語句
printf("%d",5>4+3);
將輸出 0
可以總結為:&&的結果是真真為真。||的結果是假假為假。
二、位運算符:
包括:1。&位與符 2。|位或符 3。^位異或符 4。~位取反符
以操作數12為例。位運算符將數字12視為1100。位運算符將操作數視為位而不是數值。數值
可以是任意進制的:十進制、八進制或十六進制。位運算符則將操作數轉化為二進制,並相應地返回1或0。
位運算符將數字視為二進制值,並按位進行相應運算,運算完成後再重新轉換為數字。例如:
表達式10&15表示(1010 & 1111),它將返回表示1010的值10。因為真真得真,或者是11得1,同位全是1結果也是1
表達式10|15表示(1010 | 1111),它將返回表示1111的值15。假假得假。全零得零。
表達式10^15表示(1010 ^ 1111), 它將返回表示0101的值5。此時是同性相斥,相同的就為假。
表達式~10表示(~1010),它將返回表示0101的值 -11。此號好理解,按位取反