zoukankan      html  css  js  c++  java
  • 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
    
  • 相关阅读:
    php编译错误:jpeglib.h not found.
    php编译错误:Please reinstall the libcurl distribution
    php编译错误:Cannot find OpenSSL's <evp.h>
    php shmop windows 信号量锁
    vsftpd配置
    putty ssh 证书登录及问题
    mysql被收购 用mariadb
    centos 7 php7 yum源
    3dmax 欢迎页卡住
    用python进行服务器的监控
  • 原文地址:https://www.cnblogs.com/King-Penguin/p/12082690.html
Copyright © 2011-2022 走看看