位運算方法以及邏輯運算子與位運算子區別

2021-09-25 14:02:09 字數 799 閱讀 8840

上例子!

計算7&-5的結果

#7的二進位制

被除數 除數 商 餘數

7 2 3 1

3 2 1 1

1 2 0 1

7的補碼 0000 0111(也可以這樣算 7=4+2+1,對應0111)

#-5的二進位制

被除數 除數 商 餘數

5 2 2 1

2 2 1 0

1 2 0 1

-5的原碼 1000 0101

-5的反碼 1111 1010 (符號為保持不變,其餘位取反)

-5的補碼 1111 1011(反碼+1)

結果

00000111

11111011

00000011——>對應十進位制的3

2|-6

2: 0000 0010

-6: 1111 1010

2|-6= 1111 1010

補碼: 1111 1010

反碼(補碼-1):1111 1001

結果: -000 0110

答案=-6

-邏輯運算子兩邊只能是boolean型,關係運算子結果實質是true或false

-邏輯運算子有短路情況,前面的表示式可以得到到最終結果,後面表示式不會執行

-位運算子範圍更寬泛,兩邊可以統一是boolean型也可以統一是數值型

-位運算子會先計算左右兩邊的值,故不存在短路情況

邏輯運算子與位運算子

1.運算子 用於對邏輯值的取反運算。當邏輯值為true時,經過取反變為false 當邏輯值為false時取反成true。2.運算子 運算子 用於對邏輯值進行異或運算。當運算兩側同時為true或false時,運算結果為false,否則為true。3.運算子 和 運算子 和 均用於邏輯與運算。當兩側同時...

php位運算子與邏輯運算 php 邏輯運算子 和

在php中,邏輯運算子無非是將值進行邏輯運算。還有其它用法嗎?先看看以下的 吧。提前給出結論就是 or 這兩種運算子在程式中可以加快php 的執行速度。test 李四 test 張三 test 張三來了 echo test 輸出 李四 test 李四 test 張三 test 張三不在這裡 echo...

邏輯運算子和位運算子

邏輯與 當且僅當左右兩個關係表示式均為true時返回true,否則返回false。邏輯或 當且僅當左右兩個關係表示式均為false時返回true,否則返回true。邏輯非!單目運算子,對關係表示式取反。與 兩個運算元二進位制形式的對應位中均為1時,相應的位返回1,否則返回0.例如128 129,返回...