美文网首页
Python 内置函数进制转换的用法(十进制转二进制、八进制、十

Python 内置函数进制转换的用法(十进制转二进制、八进制、十

作者: 空口言_1d2e | 来源:发表于2019-09-19 09:35 被阅读0次

使用Python内置函数:bin()、oct()、int()、hex()可实现进制转换。
先看Python官方文档中对这几个内置函数的描述:
bin(x)
Convert an integer number to a binary string. The result is a valid Python expression. If x is not a Python int object, it has to define an index() method that returns an integer.

oct(x)
Convert an integer number to an octal string. The result is a valid Python expression. If x is not a Python int object, it has to define an index() method that returns an integer.

int([number | string[, base]])
Convert a number or string to an integer. If no arguments are given, return 0. If a number is given, return number.int(). Conversion of floating point numbers to integers truncates towards zero. A string must be a base-radix integer literal optionally preceded by ‘+' or ‘-‘ (with no space in between) and optionally surrounded by whitespace. A base-n literal consists of the digits 0 to n-1, with ‘a' to ‘z' (or ‘A' to ‘Z') having values 10 to 35. The default base is 10. The allowed values are 0 and 2-36. Base-2, -8, and -16 literals can be optionally prefixed with 0b/0B, 0o/0O, or 0x/0X, as with integer literals in code. Base 0 means to interpret exactly as a code literal, so that the actual base is 2, 8, 10, or 16, and so that int('010', 0) is not legal, while int('010') is, as well as int('010', 8).

hex(x)
Convert an integer number to a hexadecimal string. The result is a valid Python expression. If x is not a Python int object, it has to define an index() method that returns an integer.

image.png
bin()、oct()、hex()的返回值均为字符串,且分别带有0b、0o、0x前缀。
import os,sys
 
# global definition
# base = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F]
base = [str(x) for x in range(10)] + [ chr(x) for x in range(ord('A'),ord('A')+6)]
 
# bin2dec
# 二进制 to 十进制: int(str,n=10) 
def bin2dec(string_num):
 return str(int(string_num, 2))
 
# hex2dec
# 十六进制 to 十进制
def hex2dec(string_num):
 return str(int(string_num.upper(), 16))
 
# dec2bin
# 十进制 to 二进制: bin() 
def dec2bin(string_num):
 num = int(string_num)
 mid = []
 while True:
 if num == 0: break
 num,rem = divmod(num, 2)
 mid.append(base[rem])
 
 return ''.join([str(x) for x in mid[::-1]])
 
# dec2hex
# 十进制 to 八进制: oct() 
# 十进制 to 十六进制: hex() 
def dec2hex(string_num):
 num = int(string_num)
 mid = []
 while True:
 if num == 0: break
 num,rem = divmod(num, 16)
 mid.append(base[rem])
 
 return ''.join([str(x) for x in mid[::-1]])
 
# hex2tobin
# 十六进制 to 二进制: bin(int(str,16)) 
def hex2bin(string_num):
 return dec2bin(hex2dec(string_num.upper()))
 
# bin2hex
# 二进制 to 十六进制: hex(int(str,2)) 
def bin2hex(string_num):
 return dec2hex(bin2dec(string_num))

相关文章

  • JAVA基础第五天

    进制 进制转换其他进制转十进制 十进制转其他进制 二进制转八进制,十六进制 八进制转二进制

  • 二进制,八进制,十进制,十六进制转换

    十进制转二进制十进制转二进制 二进制转十进制十进制转二进制 二进制转八进制二进制转八进制 八进制转成二进制八进制转...

  • python 的进制转换

    十进制, 二进制相互转换 十进制转换为二进制 二进制转换为十进制 十进制, 八进制相互转换 十进制转换为八进制 八...

  • 一.计算机系统构成及硬件基础知识--数制转换

    数制转换: 一.十进制转换为二进制 二,二进制转十进制 三. 二进制与八进制之间的转换 四. 八进制转成二进制 五...

  • Python编程练习045:十进制转二进制,八进制,十六进制

    Python 十进制转二进制、八进制、十六进制 以下代码用于实现十进制转二进制、八进制、十六进制: 获取用户输入十...

  • 最常见的进制之间的转化

    1.首先是二进制,八进制,十六进制转十进制. 2:八进制,十进制,十六进制转二进制. 3: 二进制,八进制,十进制...

  • 进制转换

    十进制转二进制 逢二进一 二进制转十进制 十进制转八进制 逢八进一 八进制转十进制 十进制转十六进制 逢十六...

  • (三)Java内置的进制转换

    十进制→其他进制 |----|------|----十进制转十六进制 |十进制转八进制 |十进制转二进制Inte...

  • python全栈学习之机制转换(2)

    1、十进制转二进制:除二取余法 2、二进制转十进制: 3、八进制转十进制: 4、二进制转八进制:三位一分法 5、十...

  • 进制转换

    十进制转换为二进制 185 = 10111001 十进制转换为八进制 185=271 十进制转换为十六进制 185...

网友评论

      本文标题:Python 内置函数进制转换的用法(十进制转二进制、八进制、十

      本文链接:https://www.haomeiwen.com/subject/tuwluctx.html