• Python位运算符


    Python 位运算按照数据在内存中的二进制位(Bit)进行操作,它一般用于底层开发(算法设计、驱动、图像处理、单片机等),在应用层开发(Web 开发、Linux 运维等)中并不常见。

    Python 位运算符只能用来操作整数类型,它按照整数在内存中的二进制形式进行计算。

    以下的位运算符 运算规则和学习过的离散数学一致。
    在这里插入图片描述按位与运算符&的运算规则是:只有参与&运算的两个位都为 1 时,结果才为 1,否则为 0。例如1&1为 1,0&0为 0,1&0也为 0,这和逻辑运算符&&非常类似。

    &运算符操作的是数据在内存中存储的原始二进制位,而不是数据本身的二进制形式;其他位运算符也一样。

    | 按位或运算符
    按位或运算符|的运算规则是:两个二进制位有一个为 1 时,结果就为 1,两个都为 0 时结果才为 0。例如1|1为 1,0|0为0,1|0 为1,这和逻辑运算中的||非常类似。

    ^按位异或运算符
    按位异或运算^的运算规则是:参与运算的两个二进制位不同时,结果为 1,相同时结果为 0。例如0^1为 1,0^0为 0,1^1为 0。

    ~按位取反运算符
    按位取反运算符为单目运算符(只有一个操作数),右结合性,作用是对参与运算的二进制位取反。例如1为0,~0为1,这和逻辑运算中的!非常类似。

    <<左移运算符
    Python 左移运算符<<用来把操作数的各个二进制位全部左移若干位,高位丢弃,低位补 0。
    如果数据较小,被丢弃的高位不包含 1,那么左移 n 位相当于乘以 2 的 n 次方。

    >>右移运算符
    Python 右移运算符>>用来把操作数的各个二进制位全部右移若干位,低位丢弃,高位补 0 或 1。如果数据的最高位是 0,那么就补 0;如果最高位是 1,那么就补 1。
    如果被丢弃的低位不包含 1,那么右移 n 位相当于除以 2 的 n 次方(但被移除的位中经常会包含 1)。

  • 相关阅读:
    2-5.基金的信息披露
    利用一段字节序列构建一个数组对象
    Docker 部署 RabbitMQ 集群
    【Java并发编程 】同步——synchronized 关键字
    mysql 索引使用教程
    Filter与Listener(过滤器与监听器)
    ROS2与turtlebot4仿真入门教程-安装ROS2
    oepnpnp - 自己出图做开口扳手
    SQL Server 2016(分离和附加数据库)
    cubeIDE开发, 物联网应用之stm32的蓝牙通信设计
  • 原文地址:https://blog.csdn.net/yooppa/article/details/126943604