zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    600+ 道 Java面试题及答案整理(2021最新版)
    Spring Boot + Web Socket 实现扫码登录,这种方式太香了!!
    小团队适合引入 Spring Cloud 微服务吗?
    Netty 通道怎么区分对应的用户?
    软件开发打败了 80 %的程序员
    一个最简单的消息队列,带你理解 RabbitMQ!
    厉害了,Netty 轻松实现文件上传!
    Netty 是如何解决 TCP 粘包拆包的?
    图解 Git,一目了然!
    面试官:谈谈分布式一致性机制,我一脸懵逼。。
  • 原文地址:https://www.cnblogs.com/pylemon/p/2093912.html
Copyright © 2011-2022 走看看