Python 位运算符
生活随笔
收集整理的這篇文章主要介紹了
Python 位运算符
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
Python 位運算符有
1 按位與(&)
2 按位或(|)
3?按位異或(^)
4 按位取反(~)
5 左位移(<<)
6 右位移(>>)
| 運算符 | 描述 |
|---|---|
| & | 按位與運算符:參與運算的兩個值,如果兩個相應位都為1,則該位的結果為1,否則為0 |
| | | 按位或運算符:只要對應的二個二進位有一個為1時,結果位就為1。 |
| ^ | 按位異或運算符:當兩對應的二進位相異時,結果為1 |
| ~ | 按位取反運算符:對數據的每個二進制位取反,即把1變為0,把0變為1。~x?類似于?-x-1 |
| << | 左移動運算符:運算數的各二進位全部左移若干位,由"<<"右邊的數指定移動的位數,高位丟棄,低位補0,相當于乘于2的n次方 |
| >> | 右移動運算符:把">>"左邊的運算數的各二進位全部右移若干位,">>"右邊的數指定移動的位數,相當于除以2的n次方 |
按位與(&)
a = 11 # 11的二級制為1011
b = 13 # 13的二進制為1101
c = a & b # &是只有2著都應都為1的時候才為1否為為0,所以應該是1001
print(c) # 打印結果為 9
print(int("1001", 2)) # 二進制轉10進制打印驗證結果為 9
? 按位或(|)
a = 11 # 11的二級制為1011
b = 13 # 13的二進制為1101
c = a | b # |是只要有1個為1的時候為1,所以應該是1111
print(c) # 打印結果為 15
print(int("1111", 2)) # 二進制轉10進制打印驗證結果為 15
按位異或(^)
a = 11 # 11的二級制為1011
b = 13 # 13的二進制為1101
c = a ^ b # 當兩對應的二進位相異時,結果為1,所以應該是0110
print(c) # 打印結果為 6
print(int("0110", 2)) # 二進制轉10進制打印驗證結果為 6
?左移與右移
a = 2
print(a << 3) # 相當于2乘于2的3次方
b = 16
print(b >> 3) # 相當于16除以2的3次方
總結
以上是生活随笔為你收集整理的Python 位运算符的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 牙周炎多少钱啊?
- 下一篇: C++ while 循环与 do...w