C#의 Math.Exp() 메서드는 자연상수 e(약 2.71828)를 지정된 거듭제곱만큼 올린 값을 반환하는 수학 함수입니다. 즉, e^val 형태의 결과를 계산할 때 사용되며, 지수 함수(exponential function)가 필요한 다양한 과학·공학 계산에서 활용됩니다.
문법(Syntax)
public static double Exp(double val);
여기서 매개변수 val은 지수(거듭제곱)를 의미하며, 메서드는 double 타입의 결과값을 반환합니다.
특수 값 처리 규칙
Math.Exp() 메서드는 특수한 입력값에 대해 다음과 같이 동작합니다.
- val이 NaN(Not a Number)인 경우 → NaN을 그대로 반환합니다.
- val이 PositiveInfinity(양의 무한대)인 경우 → PositiveInfinity를 반환합니다.
- val이 NegativeInfinity(음의 무한대)인 경우 → 0을 반환합니다.
예제 1: 기본 동작 확인
다음 예제는 Math.Exp() 메서드의 특수 값 처리를 확인하는 코드입니다.
using System;
public class Demo {
public static void Main(){
Console.WriteLine(Math.Exp(0.0));
Console.WriteLine(Math.Exp(Double.PositiveInfinity));
Console.WriteLine(Math.Exp(Double.NegativeInfinity));
}
}출력 결과
1 ∞ 0
e의 0제곱은 항상 1이므로 첫 번째 출력은 1입니다. 양의 무한대를 지수로 넣으면 무한대(∞)가, 음의 무한대를 넣으면 0이 출력되는 것을 확인할 수 있습니다.
예제 2: 일반 값과 NaN 처리
using System;
public class Demo {
public static void Main(){
Console.WriteLine(Math.Exp(10.0));
Console.WriteLine(Math.Exp(Double.NaN));
}
}출력 결과
22026.4657948067 NaN
e의 10제곱은 약 22026.47이며, NaN을 입력하면 역시 NaN이 반환됩니다.
참고 사항
Math.Exp()는 Math.Log()의 역함수 관계에 있으므로, 로그 계산 후 원래 값으로 되돌릴 때 유용하게 사용됩니다. 또한 복리 계산, 인구 성장 모델, 방사성 붕괴 등 지수적 변화를 다루는 프로그램에서 폭넓게 활용됩니다. 결과값은 double 타입으로 반환되므로, 매우 큰 지수를 입력하면 오버플로우가 발생할 수 있다는 점도 유의해야 합니다.