将整数转换为任意基数的字符串
在 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 中将整数转换为任意基数的字符串?的详细内容。更多信息请关注PHP中文网其他相关文章!