zoukankan      html  css  js  c++  java
  • Python位运算符

    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

  • 相关阅读:
    如何设计一个安全的对外接口?
    Java架构师必须知道的 6 大设计原则
    Spring Boot 如何快速改造老项目?
    Java 类中可以覆盖静态方法吗?
    Dubbo 的心跳设计,值得学习!
    在滴滴和头条干了 2 年后端开发,太真实…
    别乱提交代码了,看下大厂 Git 提交规范是怎么做的!
    3种骚操作,教你查看 Java 字节码!
    sysbench测试服务器性能
    mysql DDL时出现的锁等待状态
  • 原文地址:https://www.cnblogs.com/hany-postq473111315/p/12262990.html
Copyright © 2011-2022 走看看