博客
关于我
python 中的进制转换 整理
阅读量:327 次
发布时间:2019-03-04

本文共 1630 字,大约阅读时间需要 5 分钟。

进制转换技术解析

Python中的进制转换函数

在Python中,内置函数bin(), oct(), hex() 提供了将整数转换为不同进制字符串的功能。这些函数返回的字符串前缀分别为0b、0o、0x,例如:

  • bin(15) 返回 '0b1111'
  • oct(16) 返回 '0o20'
  • hex(256) 返回 '0x100'

二进制转换

二进制转换函数bin(x)接收一个整数参数并返回其二进制表示的字符串。例如:

>>> bin(15)'0b1111'

八进制转换

八进制转换函数oct(x)同样接收整数参数并返回八进制字符串。例如:

>>> oct(16)'0o20'

十进制转换

int()函数既可以将字符串转换为整数,也可以处理不同进制的字符串转换。例如:

>>> int('0b100', 0)  # 返回4

十六进制转换

十六进制转换函数hex(x)返回十六进制字符串,例如:

>>> hex(256)'0x100'

自定义进制转换

在实际应用中,可能需要自定义进制转换函数。以下是实现不同进制转换的示例代码:

二进制到十进制

def bin2dec(str_num):    return str(int(str_num, 2))print(bin2dec("11"))  # 输出3

八进制到十进制

def oct2dec(str_num):    return str(int(str_num, 8))print(oct2dec('11'))  # 输出9

十六进制到十进制

def hex2dec(str_num):    return str(int(str_num, 16))print(hex2dec('11'))  # 输出17

十进制到二进制

def dec2bin(num: int):    if num == 0:        return '0'    bit_list = []    while num > 0:        num, res = divmod(num, 2)        bit_list.append(baseNumDict[res])    return ''.join([str(i) for i in bit_list[::-1]])print(dec2bin(15))  # 输出1111

十进制到八进制

def dec2oct(num: int):    if num == 0:        return '0'    bit_list = []    while num > 0:        num, res = divmod(num, 8)        bit_list.append(baseNumDict[res])    return ''.join([str(i) for i in bit_list[::-1]])print(dec2oct(16))  # 输出20

十进制到十六进制

def dec2hex(num: int):    if num == 0:        return '0'    bit_list = []    while num > 0:        num, res = divmod(num, 16)        bit_list.append(baseNumDict[res])    return ''.join([str(i) for i in bit_list[::-1]])print(dec2hex(16))  # 输出10

进制转换策略

在实际应用中,当直接转换无法完成时,可以通过中间进制转换。例如,某些情况下可以通过先转换为二进制,再转换为其他进制。这种方法可以简化转换逻辑。

总结来说,掌握这些进制转换方法是开发工作中不可或缺的一部分。通过合理使用内置函数和自定义函数,可以高效完成各种进制转换任务。

转载地址:http://wadh.baihongyu.com/

你可能感兴趣的文章
python初步学习-python数据类型-集合(set)
查看>>
python列表生成字典_Python中将字典转换为列表的方法
查看>>
python列表对应元素合并为列表及判断一个列表是几维
查看>>
python列表去重复后按照顺序_从包含不可共元素的Python列表中删除重复元素,同时保留顺序?...
查看>>
python列表前几个_python之列表
查看>>
python列表元组
查看>>
Python列表/元组/字典和集合使用
查看>>
python列表 行列选择_python_pandas_dataframe_行列选择_切片操作
查看>>
python列表
查看>>
python列出当前目录、子目录和文件的脚本
查看>>
python+flask计算机毕业设计骨科门诊患者档案管理系统(程序+开题+论文)
查看>>
python+flask计算机毕业设计高校体测管理系统的设计与实现(程序+开题+论文)
查看>>
Python切片对象和__getitem__
查看>>
python+flask计算机毕业设计高校体育竞赛成绩管理系统的设计与实现(程序+开题+论文)
查看>>
python+flask计算机毕业设计高校体育赛事系统(程序+开题+论文)
查看>>
python+flask计算机毕业设计高校体育运动会比赛系统(程序+开题+论文)
查看>>
python+flask计算机毕业设计高校危化品管理系统(程序+开题+论文)
查看>>
python+flask计算机毕业设计高校团委事务管理系统(程序+开题+论文)
查看>>
Python切片(%s)
查看>>
python+flask计算机毕业设计高校学生选课系统(程序+开题+论文)
查看>>