• 4.Python 进制和位运算


     

    一、二进制转换

    In [1]:
    a = 3
    print(bin(a))   #bin()转换为二进制
    
     
    0b11
    
    In [2]:
    b = 0b10
    print(int(b))  #int()转换为十进制
    
     
    2
    
     

    负数的二进制

    求-5的二进制表示

    step1:先求正数的二进制。5->0000 0101

    step2:取反。 1111 1010

    step3:反码加1。 1111 1011

     

    二、位运算

    与:  &
    或:  |
    非:  !
    异或:^
    左移:<<
    右移:>>
    In [3]:
    print(3 & 2)  # 0000 0011 & 0000 0010 = 0000 0010
    
     
    2
    
    In [4]:
    print(5 | 3) # 0000 0101 | 0000 0011 = 0000 0111
    
     
    7
    
    In [5]:
    print(~5)   # ~0000 0101 = 1111 1010  看第一位符号位,为1是负数。取反:0000 0101 加1:0000 0110
    
     
    -6
    
    In [6]:
    print(~10)  # ~0000 1010 = 1111 0101                             取反:0000 1010 加1:0000 1011
    
     
    -11
    
    In [7]:
    print(~3)   # ~0000 0011 = 1111 1100                             取反:0000 0011 加1:0000 0100
    
     
    -4
    
    In [8]:
    print(3^5) # 0000 0011 ^ 0000 0101 = 0000 0110
    
     
    6
    
     

    左移n位相当于乘以2的n次方

    In [9]:
    print(2<<1) # 0000 0010 << 1 = 0000 0100   
    
     
    4
    
     

    右移n位相当于除以2的n次方

    In [10]:
    print(2>>1) # 0000 0010 >> 1 = 0000 0001 
    
     
    1
    
  • 相关阅读:
    分布式超级账本Hyperledger为什么选择使用kafka引擎实现共识方案
    银行卡所属公司判断 参考自https://blog.csdn.net/well2049/article/details/79429130
    golang GBK与UTF-8互转的例子
    Welcome to Swift (苹果官方Swift文档初译与注解五)---29~34页
    Welcome to Swift (苹果官方Swift文档初译与注解四)---19~28页
    Welcome to Swift (苹果官方Swift文档初译与注解三)---11~18页
    Welcome to Swift (苹果官方Swift文档初译与注解二)---6~10页
    Welcome to Swift (苹果官方Swift文档初译与注解)
    UIButton部分功能设置(一):
    Mac下配置WebDav
  • 原文地址:https://www.cnblogs.com/King-Penguin/p/12082690.html
Copyright © 2020-2023  润新知