美文网首页
python二级--让人又爱又恨的位运算符

python二级--让人又爱又恨的位运算符

作者: young十三 | 来源:发表于2019-08-01 18:16 被阅读0次

    一、小试牛刀

    1.jpg

    二、细说那些让人又爱又恨的位运算符

    图1.png

    三、实例

    a = 60  # 60 = 0011 1100 
    b = 13  # 13 = 0000 1101 
    c = 0
    
    c = a & b  # 12 = 0000 1100
    print("1 - c 的值为:", c)
    
    c = a | b  # 61 = 0011 1101 
    print("2 - c 的值为:", c)
    
    c = a ^ b  # 49 = 0011 0001
    print("3 - c 的值为:", c)
    
    c = ~a  # -61 = 1100 0011
    print("4 - c 的值为:", c)
    
    c = a << 2  # 240 = 1111 0000
    print("5 - c 的值为:", c)
    
    c = a >> 2  # 15 = 0000 1111
    print("6 - c 的值为:", c)
    
    

    输出结果:

    1 - c 的值为: 12
    2 - c 的值为: 61
    3 - c 的值为: 49
    4 - c 的值为: -61
    5 - c 的值为: 240
    6 - c 的值为: 15
    

    四、场景应用

    1、判断奇偶性

    # 判断奇偶性
    
    n = int(input('请输入一个数:'))
    if n & 1 == 0:
        print(n, '是偶数')
    else:
        print(n, '是奇数')
    

    输出结果:

    请输入一个数:12
    12 是偶数
    

    五、选择题解析

    对进制转换不熟悉,可以看笔者的一篇文章《python二级--一篇搞懂进制转换》

    解析:

    20对应的二进制0b10100
    3对应的二进制0b00011
    7对应的二进制0b00111
    20 | 3 
    ===>
    0b10111转换为10进制为23
    ==================
    20 & 7
    ===>
    0b00100转换为10进制为4
    

    六、赠语

    三十功名尘与土,八千里路云和月。

    相关文章

      网友评论

          本文标题:python二级--让人又爱又恨的位运算符

          本文链接:https://www.haomeiwen.com/subject/bppcdctx.html