Python에 정수의 밑수를 변경하는 내장 함수가 있습니까?

WBOY
풀어 주다: 2024-02-05 21:18:07
앞으로
418명이 탐색했습니다.

Python 中是否有内置函数可以更改整数的基数?

질문 내용

python은 int() 함수를 사용하여 밑이 10인 정수를 밑이 x인 정수로 변환할 수 있습니다. 여기서 2<=x<=36입니다. 모든 정수의 경우, 숫자를 다시 10진수로 변환하거나 x진수에서 y진수로 변환하는 방법이 있다는 것은 자연스러운 일입니다(군 이론을 공부하지 않은 경우).

from math import log을 사용하여 진수 간 변환 함수를 작성할 수 있지만 이를 수행하기 위해 Python에 이미 내장된 것이 있는지 알고 싶습니다.

Python 3에는 두 염기 사이에서 염기 변경을 수행하는 내장 함수가 있나요? int()(있는 경우)와 유사한 제약 조건이 있나요?

EDIT: 명확하게 설명하자면 int() 10진법의 첫 번째 인수만 해석합니다. 이 매개변수를 다른 기수 표현으로 지정하고 싶습니다. 두 개의 매개변수를 기본 표현으로 요구하는 내장 함수가 있는지 궁금합니다. 예(int()가 답이 아닌 이유:

으아악

편집 #2: 100의 9진수가 무엇인지 알고 싶다고 가정하면 다음을 사용합니다. 정수('100', 9) 그러면 값 81이 반환됩니다. 이제 81(기본 9)을 가져와서 다시 기본 10으로 변환한다고 가정해 보겠습니다. 이 작업을 수행하기 위해 Python에 내장된 함수가 있습니까, 아니면 기본 9 숫자를 제공한다는 것을 나타내기 위해 첫 번째 인수를 표시하는 방법이 있습니까?

'ob' 指定二进制值,使用 '0x' 을 사용하여 16진수 값을 지정하는 방법이 있다는 것을 알고 있습니다. 예를 들어

으아악

이것은 값 100을 반환합니다. 첫 번째 인수에 대해 다른 밑수를 지정하는 접두사는 무엇입니까?


정답


정수 객체에 대해 이야기할 때 이는 기본 n 표현과 다릅니다.

내부적으로 정수는 바이너리로 저장되지만 정수 개체 자체에는 기본이 없습니다. 기수를 지정하고 숫자 문자열이 해당 기수에 유효한 경우 모든 기수 n의 숫자 문자열에서 int 객체를 생성할 수 있습니다. 십진수는 10자리이고 알파벳은 26자리이므로 일반적으로 최대 36자로 제한됩니다.

가장 일반적으로 사용되는 2, 8, 10, 16진법에는 특별한 경우가 있습니다. 이러한 베이스의 경우 문자열 표현 자체에서 베이스를 지정합니다. 0b0o0x 접두사를 사용하여 각각 2, 8, 16을 나타낼 수 있습니다. 10진수가 기본값이고 가장 일반적으로 사용되므로 접두사가 필요하지 않습니다.

정수의 기본 n 표현을 문자열로 반환하려는 경우(예: 반전 연산 int(n, n))에는 몇 가지 옵션이 있습니다. gmpy.digits(n, n) ,其中 n 是您的 int, n를 사용하여 원하는 기반이 될 수 있습니다. gmpy를 설치해야 하기 때문에 이는 약간 과잉일 수 있습니다.

다음과 같이 사용할 수도 있습니다:

으아악

이 함수나 유사한 함수를 사용하면 n진수, n진수로 정수 n의 문자열 표현을 반환할 수 있습니다.

으아악

위 내용은 Python에 정수의 밑수를 변경하는 내장 함수가 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:stackoverflow.com
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿