博客
关于我
python 中的进制转换 整理
阅读量:326 次
发布时间: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/

你可能感兴趣的文章
Objective-C实现二叉树遍历算法(附完整源码)
查看>>
Objective-C实现二进制和算法(附完整源码)
查看>>
Objective-C实现二进制移位算法(附完整源码)
查看>>
Objective-C实现二进制补码算法(附完整源码)
查看>>
Objective-C实现二进制转八进制算法(附完整源码)
查看>>
Objective-C实现互斥锁同步执行两个线程函数(附完整源码)
查看>>
Objective-C实现交易密码算法(附完整源码)
查看>>
Objective-C实现亨元模式(附完整源码)
查看>>
Objective-C实现人工势场法(附完整源码)
查看>>
Objective-C实现代理服务器(附完整源码)
查看>>
Objective-C实现以递归的形式MatrixExponentiation矩阵求幂算法 (附完整源码)
查看>>
Objective-C实现优先级调度算法(附完整源码)
查看>>
Objective-C实现优先队列算法(附完整源码)
查看>>
Objective-C实现伽玛Gamma函数(附完整源码)
查看>>
Objective-C实现位置型pid算法(附完整源码)
查看>>
Objective-C实现低通滤波器(附完整源码)
查看>>
Objective-C实现余数定理算法(附完整源码)
查看>>
Objective-C实现使用 ziggurat() 作为 OpenMP 并行程序中的随机数生成器 (RNG)(附完整源码)
查看>>
Objective-C实现使用DisjointSet 检测无向循环算法(附完整源码)
查看>>
Objective-C实现使用数组实现约瑟夫环(附完整源码)
查看>>