进制转换

我们现实世界里计数一般用的是 10 进制,可能人有 10 根手指,这样做更好计数。在计算机世界中,还有二进制,八进制和十六进制。

其它进制转换成十进制

在 python 里提供了语法规则,可以很容易地把其它进制转换成十进制。
以 0b 开头,后面跟二进制字符,按下回车之后就可以转换成十进制,比如 0b10 转换成十进制就是 2,如下所示:

  1. >>> 0b10
  2. 2

0b 中的 b 是 binary 的缩写。
以 0o 开头,后面跟八进制字符,按下回车之后就可以转换成十进制,如下所示:

  1. >>> 0o10
  2. 8

0o 中的 o 是 octal 的缩写。
以 0x 开头,后面跟八进制字符,按下回车之后就可以转换成十进制,如下所示:

  1. >>> 0x16
  2. 22

0x 中的 x 是 hex 的缩写。

通过函数转换进制

除了上面的转换规则,我们想要从一个进制转换到另外一个进制,普通的语法规则并不能满足我们的需求,我们就需要借助函数的功能,帮我们完成进制的转换。
下面列举了他们的转换函数:

  1. bin 函数将其它进制转换成二进制;
  2. int 函数将其它进制转换成十进制;
  3. oct 函数将其它进制转换成八进制;
  4. hex 函数将其它进制转换成十六进制。

示例代码:

  1. >>> bin(10)
  2. '0b1010'
  3. >>> bin(0o7)
  4. '0b111'
  5. >>> bin(0xE)
  6. '0b1110'
  7. >>> int(0b111)
  8. 7
  9. >>> int(0o77)
  10. 63
  11. >>> oct(0b111)
  12. '0o7'
  13. >>> oct(0x777)
  14. '0o3567'
  15. >>> hex(888)
  16. '0x378'
  17. >>> hex(0o7777)
  18. '0xfff'