"""
a = 100 二進制爲: 01100100
b = 200 二進制爲: 11001000
按位運算符:
& 參與運算的兩個值,如果兩個相應位都爲1,則該位的結果爲1,否則爲0 例: a & b = b'01000000' => 64
| 只要對應的二個二進位有一個爲1時,結果位就爲1 例: a | b = b"11101100" => 236
^ 當兩對應的二進位相異時,結果爲1 例: a ^ b = b"10101100" => 172
~ 二進制數+1,加負號,或者 十進制算法: -x-1 例: ~a = -100-1 = -101 (十進制算法) ~a= -(01100100 + 1) = -(01100101) => -101
<< 二進制在右邊補n個0 例: a <<3 = b"1100100000" 補3個0 => 800
>> 二進制從右邊開始砍掉n位數 例: a >> 3 = b"1100" 砍掉3個數 => 12
"""
a = 100
b = 200
# &
print(a & b)
print(int(b'01000000', 2))
# # |
# print(a | b)
# print(int(b'11101100', 2))
#
# # ^
# print(a ^ b)
# print(int(b'10101100', 2))
#
# # ~
# print(~a)
# print(int(b'-01100101', 2))
#
# # >>
# print(a << 3)
# print(int(b'1100100000', 2))
#
# # <<
# print(b >> 3)
# print(int(b'11001', 2))