• Python中数值和进制转换


    Python数值和进制转换


    1.1 python中数值类型


         int          整型          123
         long     长整型          2147483648L
         float     浮点型          3.14


    不同的数值类型会自动扩充
    int数值大于或等于2^31次方,会自动转换成long
    表示方式是在数值后面加上L
    如果int或long和float一起运算,结果会自动扩充到float


         >>> 3.14 + 1
         4.14


    python中没有数值溢出的概念,如果超出int的范围会自动扩充到long,
    而长整型上不封顶,可以表示非常大的数字


    1.2 不同的进制


    二进制    0b101
         以数字0和字母b打头的表示二进制数 如果出现大于等于2的数 会抛出SyntaxError异常
    八进制    0711
         以数字0打头的数字表示八进制数 如果出现大于等于8的数 会抛出SyntaxError异常
    十进制    123
         正常显示 不能出现字母
    十六进制  0x15
         以数字0和字幕x打头的表示十六进制数 可以出现0-9和abcdef或ABCDEF出现其他数值会抛出SyntaxError异常


    在交互式解释器环境中.python会自动的将不同的进制自动转换为十进制,进行运算.


         >>> 0b101 + 0711 + 123 + 0x15
         606


    不同的进制之间可以运用内置函数进行转换


    常用的转换函数有:
         int(str, base)      ==> int
         bin(num)            ==> str
         oct(num)            ==> str
         hex(num)           ==> str


    int(str, base) 可以讲字符串转换为整型数,base为相应的进制
    base的范围是2~32 还可以为0,当base=0时,会自动尝试合适的进制
    base如果不给,缺省情况下会吧字符串向10进制转换,
    这时如果字符串中有字母则会抛出ValueError异常


         >>> bin(5)
         '0b101'
         >>> int('0x210', 0)
         528
         >>> int('0x210', 16)
         528

  • 相关阅读:
    ZOJ 1002 Fire Net
    Uva 12889 One-Two-Three
    URAL 1881 Long problem statement
    URAL 1880 Psych Up's Eigenvalues
    URAL 1877 Bicycle Codes
    URAL 1876 Centipede's Morning
    URAL 1873. GOV Chronicles
    Uva 839 Not so Mobile
    Uva 679 Dropping Balls
    An ac a day,keep wa away
  • 原文地址:https://www.cnblogs.com/pylemon/p/2093912.html
Copyright © 2020-2023  润新知