파이썬에서는 성능 저하를 걱정하지 않고도 매우 큰 숫자에 대해 직접 산술 연산을 수행할 수 있습니다. 파이썬은 임의의 자릿수를 가진 숫자를 다룰 수 있는 bignum 정수 타입을 기본적으로 지원하기 때문입니다.
Python 2.5 이상에서는 이 타입이 long이라는 이름으로 int 타입과 별도로 존재하지만, 인터프리터가 상황에 맞게 자동으로 더 적절한 타입을 선택해 사용합니다.
따라서 버전 2.5 이상만 사용 중이라면 별도의 특수 처리 없이 일반적인 수학 연산을 그대로 수행하면 됩니다. 연산 과정에서 32비트 정수 범위를 초과하는 숫자가 발생하면 자동으로(그리고 투명하게) bignum으로 변환되어 정확한 결과를 보장합니다.
예제
a = 182841384165841685416854134135 b = 135481653441354138548413384135 print(a - b)
출력 결과
47359730724487546868440750000
위 예제처럼 30자리가 넘는 거대한 숫자끼리 뺄셈을 수행해도 오버플로우 없이 정확한 값이 출력됩니다.
참고: Python 3에서의 변화
Python 3부터는 int와 long 타입이 하나로 통합되어, int가 기본적으로 임의 정밀도(arbitrary precision)를 지원합니다. 따라서 Python 3 환경에서는 메모리가 허용하는 한 어떤 크기의 정수든 제한 없이 사용할 수 있으며, 개발자가 타입을 신경 쓸 필요가 전혀 없습니다.