Computer >> 컴퓨터 >  >> 프로그래밍 >> C#

C# MathF.Log10() 메서드 완벽 가이드: 사용법과 예제 코드

C#의 MathF.Log10() 메서드는 지정된 숫자에 대한 밑이 10인 로그(상용로그) 값을 float 형식으로 반환하는 메서드입니다. 이 메서드는 System 네임스페이스에 포함되어 있으며, 단정밀도 부동 소수점(float) 연산에 최적화되어 있어 성능이 중요한 수치 계산에 유용합니다.

문법(Syntax)

MathF.Log10() 메서드의 기본 문법은 다음과 같습니다.

public static float Log10 (float val);

여기서 val은 로그를 계산할 숫자를 의미합니다.

반환값 및 예외 동작

  • val이 양수이면 해당 값의 상용로그(밑 10)를 반환합니다.
  • val이 0이면 음의 무한대(NegativeInfinity)를 반환합니다.
  • val이 음수이면 NaN(Not a Number)을 반환합니다.
  • val이 NaN이면 NaN을 반환합니다.

예제 1: 양수와 음수 입력

다음은 MathF.Log10() 메서드를 사용하는 첫 번째 예제입니다. 양수와 음수를 각각 입력했을 때의 결과를 확인해 보겠습니다.

using System;
public class Demo {
   public static void Main(){
      float val1 = 45.9f;
      float val2 = -4.35f;
      Console.WriteLine(MathF.Log10(val1));
      Console.WriteLine(MathF.Log10(val2));
   }
}

출력 결과

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

1.661813
NaN

45.9f의 상용로그는 약 1.661813이며, 음수인 -4.35f는 로그를 정의할 수 없으므로 NaN이 반환된 것을 확인할 수 있습니다.

예제 2: 1과 10 입력

이번에는 로그 계산에서 특별한 의미를 가지는 값들을 입력해 보겠습니다.

using System;
public class Demo {
   public static void Main(){
      float val1 = 1.0f;
      float val2 = 10.0f;
      Console.WriteLine(MathF.Log10(val1));
      Console.WriteLine(MathF.Log10(val2));
   }
}

출력 결과

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

0
1

밑이 10인 로그에서 log₁₀(1) = 0, log₁₀(10) = 1이라는 수학적 정의와 일치하는 결과가 출력됩니다.

MathF.Log10()과 Math.Log10()의 차이

C#에는 double 형식을 다루는 Math.Log10()도 존재합니다. 두 메서드의 주요 차이는 다음과 같습니다.

  • MathF.Log10(): float(단정밀도, 32비트) 매개변수를 받아 float를 반환합니다.
  • Math.Log10(): double(배정밀도, 64비트) 매개변수를 받아 double을 반환합니다.

float 연산만 필요한 게임 개발이나 그래픽 처리 등에서는 불필요한 형 변환을 줄일 수 있는 MathF.Log10()이 더 효율적입니다.

마무리

MathF.Log10() 메서드는 상용로그 계산을 간단하게 처리할 수 있으며, 음수나 0 입력 시 NaN 또는 음의 무한대를 반환한다는 점을 항상 염두에 두어야 합니다. 실제 프로젝트에서는 입력값의 유효성 검사를 함께 수행하는 것이 안전한 코딩 습관입니다.