C#의 MathF.Log() 메서드는 지정된 숫자의 로그(로그arithm) 값을 반환하는 데 사용됩니다. 이 메서드는 float 형식의 숫자에 대해 자연로그(밑이 e인 로그)를 계산하며, 결과 역시 float 형식으로 반환됩니다.
문법(Syntax)
MathF.Log() 메서드의 기본 문법은 다음과 같습니다.
public static float Log (float val);
여기서 매개변수 val은 자연로그를 계산할 대상 숫자를 의미합니다. 즉, 밑(base)이 자연상수 e(약 2.71828)인 로그 값을 구하게 됩니다.
예제 1
먼저 MathF.Log() 메서드의 기본적인 사용 방법을 살펴보겠습니다. 아래 예제에서는 0과 1에 대한 자연로그를 계산합니다.
using System;
public class Demo {
public static void Main(){
float val1 = 0.0f;
float val2 = 1.0f;
Console.WriteLine(MathF.Log(val1));
Console.WriteLine(MathF.Log(val2));
}
}출력 결과
위 코드를 실행하면 다음과 같은 결과가 출력됩니다.
-Infinity 0
출력 결과를 해석해 보면 다음과 같습니다.
- MathF.Log(0.0f) → -Infinity: 수학적으로 0의 로그는 정의되지 않지만, 메서드는 음의 무한대(-Infinity)를 반환합니다.
- MathF.Log(1.0f) → 0: 밑이 e인 로그에서 1의 로그 값은 항상 0입니다.
예제 2
이번에는 양수와 음수를 각각 입력했을 때의 동작을 확인해 보겠습니다.
using System;
public class Demo {
public static void Main(){
float val1 = 45.9f;
float val2 = -4.35f;
Console.WriteLine(MathF.Log(val1));
Console.WriteLine(MathF.Log(val2));
}
}출력 결과
위 코드를 실행하면 다음과 같은 결과가 출력됩니다.
3.826465 NaN
결과를 살펴보면 다음과 같습니다.
- MathF.Log(45.9f) → 3.826465: 양수에 대해서는 정상적으로 자연로그 값이 계산됩니다.
- MathF.Log(-4.35f) → NaN: 음수의 로그는 실수 범위에서 정의되지 않으므로 NaN(Not a Number, 숫자가 아님)이 반환됩니다.
정리
MathF.Log() 메서드를 사용할 때는 입력값의 범위에 주의해야 합니다. 양수를 입력하면 정상적인 자연로그 값이 반환되고, 0을 입력하면 -Infinity, 음수를 입력하면 NaN이 반환됩니다. 따라서 실무에서는 로그 계산 전에 입력값이 0보다 큰지 검사하는 것이 안전한 코딩 습관입니다.