python位运算


按位运算符是把数字看作二进制来进行计算的。Python中的按位运算法则如下,只针对整型数据:
a=60的二进制是:0011 1100
b=13的二进制是:0000 1101
a和b进行二进制按位算法:

    0011 1100
    0000 1101
------------------
    0000 1100    ---->a&b(a,b按位与运算结果)
    0011 1101    ---->a|b(a,b按位或运算结果)
    0011 0001    ---->a^b(a,b按位异或运算结果) 即a和b相反结果才是1,相同则为0
    
    
取反:    a=60,0011 1100 按位取反:结果为 1100 0011 移位:
 a=60,0011 1100
 a<<3 左移动3位 则是向二进制右边加3个0 ,结果是:11 1100 000,值为480,等效于 x *  2**y
 
 a>>3 右移动3位 则是将二进制位全部向右移动3位 ,结果是:1 1100,值为28,将a的各二进位全部向 右移动3位,相当于将a的二进制位前3位切除 。等效于x / 2**y  (取整)

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM