gmpy2 mpz типа в другой базе
Я пытаюсь использовать MPZ, чтобы изменить базу числа, но когда я пытаюсь mpz(16[, base=16])
Я получаю неверную синтаксическую ошибку.
Если я использую mpz(0x16)
, возвращает базовое число 10 (22
). Можно ли хранить тип MPZ на другой базе?
1 ответ
mpz
Тип всегда хранит значение внутри как двоичное. Необязательный base
Ключевое слово используется для преобразования строки. Некоторые примеры:
>>> mpz("10", base=16)
mpz(16)
>>> mpz("10", base=32)
mpz(32)
Чтобы преобразовать mpz
к строке в произвольной базе, использует digits()
метод.
>>> mpz("10", base=32).digits(16)
'20'
>>> mpz("10", base=32).digits(32)
'10'
>>> mpz("10", base=32).digits(2)
'100000'
Что касается синтаксической ошибки, квадратные скобки в тексте справки [, base=0]
указано, что ключевое слово base
не является обязательным, и значение по умолчанию 0
, Квадратные скобки не должны вводиться.