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

파이썬 frexp() 함수 – 숫자의 가수와 지수 구하기

파이썬의 math.frexp() 함수는 주어진 숫자를 가수(mantissa)지수(exponent)로 분해하는 데 사용되는 수학 함수입니다. 부동소수점 연산이나 정밀한 수치 계산에서 자주 활용되며, 이 글에서는 기본 문법부터 실전 예제까지 다양한 활용 방법을 살펴보겠습니다.

문법

함수의 기본 문법과 동작 방식은 아래와 같습니다.

math.frexp( x )
매개변수: 유효한 숫자 (양수 또는 음수 모두 가능)
반환값: 주어진 숫자 x에 대한 가수 m과 지수 e를 튜플 (m, e) 형태로 반환
예외: x가 숫자가 아니면 TypeError 발생

기본 사용 예제

가장 간단한 형태로, 숫자에 함수를 직접 적용하여 가수와 지수를 구할 수 있습니다.

예제

import math
# 가수와 지수 구하기
print(math.frexp(12))
print(math.frexp(10.5))

실행 결과

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

(0.75, 4)
(0.65625, 4)

결과를 해석해 보면, 12는 0.75 × 2⁴로 표현되고, 10.5는 0.65625 × 2⁴로 표현됩니다. 즉, 항상 x = m × 2^e 관계가 성립합니다.

리스트와 튜플과 함께 사용하기

시퀀스 자료형에도 활용할 수 있습니다. 아래 예제에서는 리스트와 튜플을 만든 뒤, 인덱스를 이용해 특정 요소에 함수를 적용합니다.

예제

import math
listA = [3,9,4,7]
tupA = (3.8,12.6,12.5)
# 가수와 지수 구하기
print(math.frexp(listA[2]))
print(math.frexp(tupA[1]))

실행 결과

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

(0.5, 3)
(0.7875, 4)

리스트의 세 번째 요소인 4는 0.5 × 2³으로, 튜플의 두 번째 요소인 12.6은 0.7875 × 2⁴로 분해된 것을 확인할 수 있습니다. 이처럼 math.frexp()는 정수, 실수는 물론 시퀀스의 개별 요소에도 손쉽게 적용할 수 있어 다양한 수치 계산 상황에서 유용하게 쓰입니다.