首页 >后端开发 >Python教程 >如何在 Python 中将整数转换为任意基数的字符串?

如何在 Python 中将整数转换为任意基数的字符串?

Patricia Arquette
Patricia Arquette原创
2024-12-03 22:05:16642浏览

How Can I Convert Integers to Strings in Arbitrary Bases in Python?

将整数转换为任意基数的字符串

在 Python 中,可以使用 int(str, base) 函数轻松地将整数从字符串转换为字符串。然而,从整数创建字符串的逆操作可能更具挑战性。

任意基数的自定义解决方案

以下代码定义了一个自定义解决方案,numberToBase,可以将任何整数 n 转换为任何基数 b 的字符串:

def numberToBase(n, b):
    if n == 0:
        return [0]
    digits = []
    while n:
        digits.append(int(n % b))
        n //= b
    return digits[::-1]

该函数的工作原理是重复除以基斯湾它重复计算 n 除以 b 的余数并将其添加到数字列表中。该过程一直持续到 n 变为零。然后将数字反转以获得以 b 为基数的正确表示。

用法示例

要将大数转换为以 577 为基数:

print(numberToBase(67854 ** 15 - 102, 577))

输出:

[4, 473, 131, 96, 431, 285, 524, 486, 28, 23, 16, 82, 292, 538, 149, 25, 41, 483, 100, 517, 131, 28, 0, 435, 197, 264, 455]

这个结果可以转换为任何其他基础

相对于内置函数的优点

与 bin、oct 和 hex 等内置函数不同,numberToBase 函数具有以下几个优点:

  • 适用于任何 Python 版本(从 2.2开始)
  • 转换为任意基数(不限于 2、8 或 16)
  • 返回数字列表,允许轻松转换为其他基数或字符串表示

以上是如何在 Python 中将整数转换为任意基数的字符串?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn