Home > Backend Development > Python Tutorial > How Can I Convert Integers to Strings in Arbitrary Bases in Python?

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

Patricia Arquette
Release: 2024-12-03 22:05:16
Original
643 people have browsed it

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

Converting Integers to Strings in Arbitrary Bases

In Python, integers can be easily converted from strings using the int(str, base) function. However, the inverse operation of creating a string from an integer can be more challenging.

Custom Solution for Arbitrary Bases

The following code defines a custom solution, numberToBase, that can convert any integer n to a string in any base b:

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

This function works on the principle of repeated division by the base b. It repeatedly calculates the remainder of n when divided by b and adds it to a list of digits. The process continues until n becomes zero. The digits are then reversed to obtain the correct representation in base b.

Example Usage

To convert a large number to base 577:

print(numberToBase(67854 ** 15 - 102, 577))
Copy after login

Output:

[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]
Copy after login

This result can then be converted to any other base as needed.

Advantages Over Built-in Functions

Unlike built-in functions such as bin, oct, and hex, the numberToBase function offers several advantages:

  • Works on any Python version (from 2.2 onwards)
  • Converts to any arbitrary base (not limited to 2, 8, or 16)
  • Returns a list of digits, allowing for easy conversion to other bases or string representation

The above is the detailed content of How Can I Convert Integers to Strings in Arbitrary Bases in Python?. For more information, please follow other related articles on the PHP Chinese website!

source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Latest Articles by Author
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template