python的与 或 异或 运算

符号

 描述

 运算规则                        by MoreWindows

&      

 与

两个位都为1时,结果才为1     (统计奇数)                      全1为1

|  

 或    

两个位都为0时,结果才为0       (统计偶数)                     全0为0

^    

异或

两个位相同为0,相异为1      (常用统计不相同数)               不同为1

~   

取反

0变1,1变0

<< 

左移

各二进位全部左移若干位,高位丢弃,低位补0

>> 

右移

各二进位全部右移若干位,对无符号数,高位补0,有符号数,各编译器处理方法不一样,有的补符号位(算术右移),有的补0(逻辑右移)

 

位操作:一般是将数字化为二进制数后进行操作。

1)判断奇偶  (二进制数以1结尾是奇数,以0结尾是偶数)

for i  in range(100):  #打印所有奇数
    if i&1==1:
        print(i)

2)消去最后一位1

x & (x - 1)

3)找出出现一次的数

a ^ b ^ b = a

 

 

 

 

你可能感兴趣的:(实习)