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

C# 수학 함수 총정리 – System.Math 클래스의 주요 메서드와 활용 예제

C#의 System.Math 클래스는 수학 연산, 삼각함수 계산, 로그 계산 등 다양한 수학적 작업을 손쉽게 처리할 수 있도록 메서드와 속성을 제공합니다. 별도의 라이브러리 설치 없이 기본적으로 사용할 수 있어, 숫자 데이터를 다루는 거의 모든 C# 프로그램에서 활용됩니다.

System.Math 클래스의 대표적인 메서드는 다음과 같습니다.

번호메서드 및 설명
1Abs(Decimal)
Decimal(10진수) 숫자의 절대값을 반환합니다.
2Abs(Double)
배정밀도(double) 부동 소수점 숫자의 절대값을 반환합니다.
3Abs(Int16)
16비트 부호 있는 정수(short)의 절대값을 반환합니다.
4Abs(Int32)
32비트 부호 있는 정수(int)의 절대값을 반환합니다.
5Abs(Int64)
64비트 부호 있는 정수(long)의 절대값을 반환합니다.
6Abs(SByte)
8비트 부호 있는 정수(sbyte)의 절대값을 반환합니다.
7Abs(Single)
단정밀도(float) 부동 소수점 숫자의 절대값을 반환합니다.
8Acos(Double)
지정된 숫자를 코사인 값으로 갖는 각도(아크코사인)를 반환합니다.
9Asin(Double)
지정된 숫자를 사인 값으로 갖는 각도(아크사인)를 반환합니다.
10Atan(Double)
지정된 숫자를 탄젠트 값으로 갖는 각도(아크탄젠트)를 반환합니다.

이 외에도 Sqrt(제곱근), Pow(거듭제곱), Round(반올림), Log(로그) 등 수십 가지 메서드가 제공되며, 전체 목록은 MSDN(Microsoft 공식 문서)에서 확인할 수 있습니다.

절대값 구하기 예제

다음은 Math.Abs() 메서드를 사용해 음수를 양수로 변환하는 예제입니다.

using System;

class Program {
   static void Main() {
      int val1 = 250;
      int val2 = -150;

      Console.WriteLine("Before...");
      Console.WriteLine(val1);
      Console.WriteLine(val2);

      int abs1 = Math.Abs(val1);
      int abs2 = Math.Abs(val2);

      Console.WriteLine("After...");
      Console.WriteLine(abs1);
      Console.WriteLine(abs2);
   }
}

출력 결과

Before...
250
-150
After...
250
150

-150에 Math.Abs()를 적용하자 150으로 변환된 것을 확인할 수 있습니다. 양수인 값은 그대로 유지됩니다.

삼각함수와 로그 함수

C#에서 로그 함수와 삼각함수 역시 System.Math 클래스에 포함되어 있습니다. 삼각함수 관련 메서드로는 Sin, Cos, Tan뿐만 아니라 역삼각함수인 ACos, ASin, ATan 등이 제공되며, 이들은 모두 System 네임스페이스의 Math 타입에 속합니다.

참고로 삼각함수 메서드의 매개변수와 반환값은 라디안(radian) 단위를 사용한다는 점에 유의해야 합니다.

다음은 C#에서 삼각함수를 구현하는 방법을 보여주는 예제입니다.

삼각함수 사용 예제

using System;

class Program {
   static void Main() {
      Console.WriteLine(Math.Acos(0));
      Console.WriteLine(Math.Cos(2));

      Console.WriteLine(Math.Asin(0.2));
      Console.WriteLine(Math.Sin(2));
   }
}

출력 결과

1.5707963267948966
-0.4161468365471424
0.20135792079033088
0.9092974268256817

위 예제처럼 Math.Acos(0)은 코사인 값이 0이 되는 각도(π/2 ≈ 1.5708 라디안)를 반환하고, Math.Cos(2)는 2라디안에 대한 코사인 값을 계산합니다. 이처럼 System.Math 클래스 하나만으로 절대값, 삼각함수, 로그 등 대부분의 수학 연산을 간편하게 처리할 수 있습니다.