51 按位与运算符

"""
学习使用按位与 &

a = 0011 1100

b = 0000 1101

-----------------

a&b = 0000 1100

a|b = 0011 1101

a^b = 0011 0001

~a  = 1100 0011


&	按位与运算符:参与运算的两个值,如果两个相应位都为1,则该位的结果为1,否则为0	
    (a & b) 输出结果 12 ,二进制解释: 0000 1100
|	按位或运算符:只要对应的二个二进位有一个为1时,结果位就为1。	
    (a | b) 输出结果 61 ,二进制解释: 0011 1101
^	按位异或运算符:当两对应的二进位相异时,结果为1	
    (a ^ b) 输出结果 49 ,二进制解释: 0011 0001
~	按位取反运算符:将二进制表示中的每一位取反,0 变为 1,1 变为 0。
    ~x 类似于 -x-1	(~a ) 输出结果 -61 ,二进制解释: 1100 0011 (以补码形式表示),在一个有符号二进制数的补码形式。
<<	左移动运算符:运算数的各二进位全部左移若干位,由 << 右边的数字指定了移动的位数,高位丢弃,低位补0。	
    a << 2 输出结果 480 ,二进制解释: 1111 0000 
>>	右移动运算符:把">>"左边的运算数的各二进位全部右移若干位,>> 右边的数字指定了移动的位数	
    a >> 2 输出结果 15 ,二进制解释: 0000 1111
"""
a = 60
b = 13
print(a&b)
print(a|b)
print(a^b)
print(~a)
print(a>>2) # 2理解为次幂,底数固定为2 朝右变小,所以做除法
print(a<<2) # 朝左变大,所以做乘法
posted @ 2024-09-25 15:05  人要靠自己you  阅读(102)  评论(0)    收藏  举报