C#의 Math.Log10() 메서드는 지정된 숫자에 대한 밑수가 10인 로그값, 즉 상용로그(common logarithm)를 계산하여 double 형식으로 반환합니다. 수학적 계산이나 데이터 분석 작업에서 자주 활용되는 기본 메서드입니다.
구문(Syntax)
public static double Log10 (double val);
여기서 val은 로그값을 구하고자 하는 숫자를 의미합니다.
매개변수 값에 따른 반환값
Log10() 메서드는 입력된 매개변수 값에 따라 다음과 같은 결과를 반환합니다.
| val 매개변수 | 반환값 |
|---|---|
| 양수 | 밑수 10 로그값, 즉 log₁₀d |
| 0 | NegativeInfinity (음의 무한대) |
| 음수 | NaN (숫자가 아님) |
| NaN과 같은 경우 | NaN |
| PositiveInfinity와 같은 경우 | PositiveInfinity (양의 무한대) |
이제 Math.Log10() 메서드를 실제로 구현한 예제를 살펴보겠습니다.
예제 1: 무한대 값 처리
using System;
public class Demo {
public static void Main(){
double val1 = Double.PositiveInfinity;
double val2 = Double.NegativeInfinity;
Console.WriteLine(Math.Log10(val1));
Console.WriteLine(Math.Log10(val2));
}
}출력 결과
위 코드를 실행하면 다음과 같은 결과가 출력됩니다.
∞ NaN
양의 무한대를 입력하면 양의 무한대가 그대로 반환되고, 음의 무한대는 유효한 로그 값을 가질 수 없으므로 NaN이 반환되는 것을 확인할 수 있습니다.
예제 2: 0, 1, NaN 값 처리
using System;
public class Demo {
public static void Main(){
double val1 = 0;
double val2 = 1;
double val3 = Double.NaN;
Console.WriteLine(Math.Log10(val1));
Console.WriteLine(Math.Log10(val2));
Console.WriteLine(Math.Log10(val3));
}
}출력 결과
위 코드를 실행하면 다음과 같은 결과가 출력됩니다.
-∞ 0 NaN
0을 입력하면 수학적으로 로그 함수가 발산하기 때문에 음의 무한대(-∞)가 반환됩니다. 1의 상용로그는 항상 0이며, NaN을 입력하면 역시 NaN이 반환됩니다.
정리
Math.Log10() 메서드는 간단하지만 입력값의 범위에 따라 반환 결과가 크게 달라지므로, 실제 개발 시에는 0 이하의 값이나 특수 부동소수점 값(NaN, Infinity)이 들어오는 경우를 반드시 고려해야 합니다. 이러한 특성을 미리 파악해 두면 런타임 오류나 예기치 않은 계산 결과를 효과적으로 방지할 수 있습니다.