Python之位运算

位运算

位运算符通常在图形、图像处理和创建设备驱动等底层开发中使用。
使用位运算符可以直接操作数值的原始 bit 位,尤其是在使用自定义的协议进行通信时。
使用位运算符对原始数据进行编码和解码也非常有效。

Python 支持的位运算符有如下 6 个

  1. &:按位与
  2. |:按位或
  3. ^:按位异或
  4. ~:按位取反
  5. 《:左位移运算符
  6. 》:右位移运算符

位运算符的运算法则

在这里插入图片描述
代码如下:

# 位运算

# 二进制: 0 1
'''

       1  1

 8  4  2  1


'''
a = 3

print(bin(a))  # 0b 11

a = 13

print(bin(a))

b = 0b10111  # 0b  二进制   二进制的表示: 0b1000101

print(int(b))

c = -8  # -0b1000       0000  1000

print(bin(c))

c = 0o6430  # 0o 开头的都是八进制   里面的数字不能超过8

print(int(c))

# 开头表示0x  0-9 a-f
# 应用: FFFFFF   000000  FF0000   00FF00

d = 0x9ab16

print(int(d))

'''
& 
|
~
^
<<
>>

'''

print(3 & 2)
'''
 类似and
 1 True  0  False
  0000 0011
& 0000 0010
------------
  0000 0010

 |  类似or

  1 True  0  False


'''

print(5 | 3)
'''
   0000 0101
 | 0000 0011
 --------------
   0000 0111
'''

print(~5)  # 取反  将十进制的数字对应的二进制进行取反操作。

'''
 0000 0101
取反:
 1111 1010

 -6

 1111 1010  减1

 1111 1001  取反

 0000 0110  6


 看第一位(第一位是符号位,只要第一位是1的就是负数,第一位是0的就是整数)

-6:
 0000 0110  

 1111 1001  反码

 1111 1010  补码

'''

# 异或  ^   相同的是0  不同的是1

print(3 ^ 5)
'''
# 步骤:
1. 左边的数字转成二进制
2. 右侧的数字转成二进制
3. 对齐,上下进行比较(相同的是0  不同的是1)
4. 将计算的结果转成十进制

3    0000 0011
5    0000 0101
----------------
     0000 0110     -----> 6

'''

# 左移:

print(2 << 1)  # 4

print(2 >> 1)  # 1

'''
2的二进制:

0000  0010 
左移: m<<n  m*2的n次方
右移:  m>>n  m//2的n次方
'''

print(16 << 2)

print(16 >> 2)

print(-0b1000000)

print(64 << 1)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值