Python 基础 1 - 位运算符

引言

本文主要介绍位运算符,实际上Python有以下7类运算符:
[赋值运算符]、[比较运算符]、[算术运算符]、[逻辑运算符]、[身份运算符]、[成员运算符]、[位运算符]

位运算符

按位运算符是把数字看做二进制来运算的,位运算符分两部分:1.位逻辑运算符 2.位移运算符
在二进制中 1 通常为 True,0 通常为 False

位逻辑运算符包括

异或 取反
& | ^ ~

位移运算符包括

左移 右移
<< >>

位逻辑运算符

二进制中 1 代表 True,0代表 False

  • & 与运算符,两数为 True 时结果为 True,否则为 False
  • | 或运算符,两数只要有一个为True,结果就为True,否则为False
  • ^ 异或运算符,当两数不一致时,结果为 True,两数一致时结果为 False
  • ~ 取反运算符,对二进制进行取反,即 1 取反为 00 取反为 1
    # 二进制取反
    a = 12  # 1100
    print( ~a )  # 1100 + 1 = 1101
    # 运行结果:-13 ,对应的二进制码:-1101

位移运算符

指定二进制码向左边或右边移动若干位

  • << 按位左移运算符,二进制码向左移动 N 位,左移多少位右边就补多少个0
    # 按位左移
    a = 12  # 12,对应的二进制码:1100
    print( a << 3 )
    # 运行结果:96,对应的二进制码:1100000
  • >> 按位右移运算符,二进制码向右移动 N 位,右边溢出丢弃,右移多少位左边就补多少个0
    # 按位右移
    a = 12  # 12,对应的二进制码:1100
    print( a >> 1 )
    # 运行结果:6 ,对应的二进制码:110

数据之心

微信公众号「数据之心」
疯狂的大志GD
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

请勿发布不友善或者负能量的内容。与人为善,比聪明更重要!