位運算:指將資料先轉換為二進位制補碼形式,在逐位按一定規則進行計算。
位運算子:進行位運算的運算子
「按位與」運算子「&」,規則:全一則一,否則為零。
「按位或」運算子「|」,規則:全零則零,否則為一。
「按位非」運算子「~」,規則:遇一則零,遇零則一。
「按位異或」運算子「^」,規則:相同為零,不同為一。
移位運算子:右移運算子「>>」,將二進位制資料進行右移運算,左邊產生的空位用符號(正數0,負數1)填充。左移運算子「<<」用法與右移類似。
例如:a 00000000 00000000 00000000 00000111
b & 10000001 10100101 11110011 10101011
c 00000000 00000000 00000000 00000011
邏輯運算子:邏輯與「&&」,邏輯或「||」,邏輯非「!」(過於簡單,此處不做贅述)。
邏輯運算子與位運算子的區別
邏輯運算子只針對布林型進行邏輯運算,而位運算還可以對數值進行邏輯運算。
邏輯運算子中存在短路情況,位運算子則沒有。(短路指前面的表達時得出最終結果時,後面的表示式不執行)
JAVA中位運算與邏輯運算
位運算 位運算是將資料先轉化為二進位制數補碼形式,再逐位 bit 按規則計算 按位與 運算子 規則 全1則1,否則為0 按位或 運算子 規則 全0則0,否則為1。按位非 運算子 規則 遇1則0,遇0則1。按位異或 運算子 規則 相同為0,不同為1。邏輯運算 邏輯運算是對布林型資料 true或flas...
邏輯位運算與邏輯運算
兩者非常容易混淆,其實這是截然不同的兩種運算.1.邏輯位運算 與運算 1 2 0 0000 0001 0000 0010 0000 0000 0 或運算 1 2 3 0000 0001 0000 0010 0000 0011 3 按位求反 運算,異或 運算略.移位 左移,右移 運算略.2.邏輯運算 ...
邏輯運算與位運算
1.邏輯運算 邏輯運算又稱布林運算,它的結果應該是乙個真假值,也就是true還是false。1 與運算,同為真時才為真。2 或運算,同為假時才為假,也就是說有乙個為真即為真。3 非運算,true false,false true。4 異或運算,按照每一位進行異或,相同為0,不同為1。2.位運算 1 ...