逻辑运算与位运算
2018-4-14
總是將邏輯運算與位運算混淆,于是乎,在這里進行總結一下!
1.邏輯運算
邏輯運算又稱布爾運算,它的結果應該是一個真假值,也就是true還是false。
1)&&:與運算,同為真時才為真。
2)||:或運算,同為假時才為假,也就是說有一個為真即為真。
2>3||3>2 -> true 2>3||3>4 -> false3)!:非運算,! true=false,! false=true。
!2>3 -> true !3>2 -> false4)^:異或運算,按照每一位進行異或,相同為0,不同為1。
5^3: 5 -> 00...00101(一共32位) 3 -> 00...00011(一共32位) 結果為00...00110即為62.位運算
1)&:按位與
2)|:按位或
3)^:按位異或
4)~ :按位取反
5)<<:左移
6)>>:算數右移
百度了一下,發現位運算的作用真的特別多~
1.簡單應用
1)&:多用來取位操作:
比如說判斷數的奇偶性就是取最后一位,與1&,若結果為1,則為奇數,反之為偶數。
2)|:多用來賦值:
把某個數變成最接近的偶數:|1-1即可。
3)^:密碼加密:
兩次異或同一個數之后結果不變,這個也可以用來在不會有溢出的風險下交換兩個數的值。
2.進階應用
1)計算一個32位整數的二進制中1的個數的奇偶性。
其實還有很多,但是由于時間問題我就不一一贅述了…
總結
- 上一篇: python实现 多叉树 寻找最短路径
- 下一篇: [2017-2018上 网络工程] 面向