首页 > 编程语言 > 详细

Python位运算符

时间:2020-02-05 13:04:20      阅读:70      评论:0      收藏:0      [点我收藏+]

Python位运算符:将 int 长整型数据看做二进制进行计算,主要是将前面的数和后面的数的对应位置上的数字 0,1 进行判断。

     & 按位与:如果对应位置上的两个数都为 1,那么得到的该结果的该位置上也为 1 。其他情况都为 0。

     | 按位或:如果对应位置上的两个数有一个为 1 或都为 1,则得到的该结果的该位置上也为 1 。其他情况都为 0。

    ^ 按位异或:如果对应位置上的两个数为 0 和 1 或 1 和 0,则得到的该结果的该位置上也为 1 。其他情况都为 0。

    ~ 按位取反:如果~后面为正数或 0,则结果为-(数+1),

          如果后面的数为负数,则结果为-(负数(带符号)+1)。

   << 左移运算符:将前面的数乘以 2 的(后面的数) 次幂。

   >> 右移运算符:将前面的数除以 2 的(后面的数) 次幂。

#查看二进制
a = 2
b = 3
print(bin(a))
# 0b10  1*2的1次 + 0*2的0次
print(bin(b))
# 0b11  1*2的1次 + 1*2的0次

#  & 按位与:如果对应位置上的两个数都为 1,那么得到的该结果的该位置上也为 1 。其他情况都为 0。
print(a & b)
# 0b1 为与的结果

# | 按位或:如果对应位置上的两个数有一个为 1 或都为 1,则得到的该结果的该位置上也为 1 。其他情况都为 0。
print(a | b)
# 0b11 为或的结果

# ^ 按位异或:如果对应位置上的两个数为 0 和 1 或 1 和 0,则得到的该结果的该位置上也为 1 。其他情况都为 0。
print(a ^ b)
# 0b01 为异或的结果

# ~ 按位取反:如果后面的为正数,则结果为-(正数+1)
print(~2)
# -3

print(~(-5))
# 4

# << 左移运算符:将前面的数乘以 2 的(后面的数)次幂
print(2<<3)
# 16   2 *2*2*2

# >> 右移运算符:将前面的数除以 2 的(后面的数)次幂
print(16>>2)
# 4

2020-02-05

 

Python位运算符

原文:https://www.cnblogs.com/hany-postq473111315/p/12262990.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!