博客
关于我
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语言:装饰器原理
查看>>
Python 交互式数据可视化详解
查看>>
python语言有哪些优点和缺点_Python有哪些优缺点,你了解吗?
查看>>
Python 从入门到精通:30天速成教程到底有多狠?你能坚持下来吗?
查看>>
Python 从数据库中存储和检索密码的最安全方法
查看>>
Python语言及其应用 - 知识点遍历
查看>>
Python 优化提速的 8 个小技巧
查看>>
Python 余弦相似度与皮尔逊相关系数 计算
查看>>
python 使用execjs 报编码错误解决办法,UnicodeDecodeError: ‘gbk‘ codec can‘t decode byte 0xac in position 145: il
查看>>
python 使用filetype校验文件
查看>>
Python 使用flush函数将缓冲区数据立即写磁盘
查看>>
python 使用in判断不准确,in不好使
查看>>
Python 使用pandas 进行查询和统计详解
查看>>
Redis 配置文件redis.conf详细解释
查看>>
python网络爬虫(2)——scrapy框架的基础使用
查看>>
python网络爬虫实例教程试读_Python网络爬虫实战教程(全套完整版) - 学途无忧网 - 做技术的王者 - Powered By EduSoho...
查看>>
Python 使用哈希函数用于加密
查看>>
Python 依赖管理的革新——Poetry 深度解析
查看>>
python 保留精度及增加去除数字的千位分隔符(金额化数字)
查看>>