整数を任意の基数の文字列に変換する
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]
この関数は底による反復除算の原理 b. 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 中国語 Web サイトの他の関連記事を参照してください。