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

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

进制转换技术解析

Python中的进制转换函数

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

  • 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/

你可能感兴趣的文章
Postgresql中的表结构和数据同步/数据传输到Mysql
查看>>
Postgresql中自增主键序列的使用以及数据传输时提示:错误:关系“xxx_xx_xx_seq“不存在
查看>>
postgreSQL入门命令
查看>>
PostgreSQL删除数据库报"ERROR: There is 1 other session using the database."
查看>>
Qt开发——爱情公寓人事管理系统
查看>>
PostgreSQL和Oracle两种数据库有啥区别?如何选择?
查看>>
Postgresql在Windows中使用pg_dump实现数据库(指定表)的导出与导入
查看>>
PostgreSQL在何处处理 sql查询之四
查看>>
postgresql基本使用
查看>>
PostgreSQL学习总结(10)—— PostgreSQL 数据库体系架构
查看>>
PostgreSQL学习总结(11)—— PostgreSQL 常用的高可用集群方案
查看>>
Qt开发——多线程网络时间客户端
查看>>
PostgreSQL学习总结(13)—— PostgreSQL 15.8 如何成就数据库性能王者?
查看>>
PostgreSQL学习总结(13)—— PostgreSQL 目录结构与配置文件 postgresql.conf 详解
查看>>
PostgreSQL学习总结(1)—— PostgreSQL 入门简介与安装
查看>>
PostgreSQL学习总结(2)—— PostgreSQL 语法
查看>>
PostgreSQL学习总结(3)—— PostgreSQL 数据类型
查看>>
Qt开发——圆面积计算器
查看>>
PostgreSQL学习总结(5)—— PostgreSQL table 创建与删除
查看>>
PostgreSQL学习总结(6)—— PostgreSQL 模式(SCHEMA)详解
查看>>