Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

파이썬(Python)에서 큰 수를 곱하는 방법

파이썬에서는 실행 속도나 오버플로우를 걱정할 필요 없이 아주 큰 숫자도 직접 곱할 수 있습니다. 파이썬은 메모리가 허용하는 한 제한 없이 임의의 크기를 가진 숫자를 다룰 수 있는 "bignum" 정수 타입을 기본적으로 지원하기 때문입니다.

bignum 타입의 자동 처리

파이썬 2.5 이상에서는 이 타입을 long이라고 부르며, 일반적인 int 타입과는 별개로 존재합니다. 하지만 개발자가 직접 구분할 필요는 없습니다. 인터프리터가 상황에 맞게 자동으로 더 적합한 타입을 선택해 사용하기 때문입니다.

즉, 파이썬 2.5 이상 버전만 사용하고 있다면 일반적인 산술 연산을 그대로 수행하면 됩니다. 계산 과정에서 32비트 정수 범위를 초과하는 숫자가 발생하면, 파이썬이 자동으로(그리고 투명하게) 해당 값을 bignum으로 변환해 처리합니다.

예제 코드

a = 15421681351
b = 6184685413848
print(a * b)

위 코드를 실행하면 다음과 같은 결과가 출력됩니다.

95378247708541418748648

참고: 파이썬 3에서의 동작

파이썬 3부터는 long 타입이 사라지고 int 타입 하나로 통합되었습니다. 따라서 파이썬 3에서는 모든 정수가 처음부터 임의 정밀도(arbitrary precision)를 지원하며, 위 예제와 동일한 방식으로 아무런 추가 설정 없이 큰 수의 곱셈을 수행할 수 있습니다.