Python позволяет легко создавать целое число из строки данной базы через
int(str, base).
Я хочу выполнить обратное: создание строки из целого числа,
т.е. мне нужна некоторая функция int2base(num, base)
, такая что:
int(int2base(x, b), b) == x
Значение имени функции/аргумента не имеет значения.
Для любого числа x
и base b
, которое примет int()
.
Это простая функция для записи: на самом деле это проще, чем описать ее в этом вопросе. Тем не менее, я чувствую, что мне что-то не хватает.
Я знаю о функциях bin
, oct
, hex
, но я не могу использовать их по нескольким причинам:
-
Эти функции недоступны в более старых версиях Python, с которыми мне нужна совместимость с (2.2)
-
Я хочу общее решение, которое можно назвать одинаковым для разных баз.
-
Я хочу разрешить базы, отличные от 2, 8, 16