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

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

DDD
发布: 2024-12-13 18:25:10
原创
701 人浏览过

How can integers be converted into strings in arbitrary bases?

Conversion of Integers to Strings in Arbitrary Bases

本题寻求一种将整数转换为任意基数字符串的方法。与 Python 的 int(str, base) 函数不同,该函数允许从指定基数的字符串创建整数,所需的方法是其逆过程,即从整数构造字符串。

一个简单的解决方案

直观上,人们倾向于关注转换为小基数(例如,小于英文字母的长度)。然而,这个问题需要一个通用的解决方案,适用于从 2 到无穷大的任何基数。

下面给出一个简单的解决方案:

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

这个函数接受一个整数 n 和一个基数 b 作为输入并返回以 b 为基数表示 n 的数字列表。它的工作原理是迭代地将 n 除以 b 并将余数(即数字)收集到列表中。然后反转列表以获得正确的数字顺序。

例如,将 67854**15 - 102 转换为基数 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]
登录后复制

这个结果可以进一步转换成任何其他想要的

关键点

  • 解决方案的简单性在于实现特定基数中的数字可以由数字列表表示,其中每个数字代表底数的幂。
  • 该函数返回一个数字列表以容纳任何底数,甚至是大于 36 的数字(字母顺序) Python 中的基数)。
  • 理解不同基数的数字概念对于掌握此方法的工作原理至关重要。

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

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板