C#에서 수학 관련 작업을 처리할 때 가장 많이 사용되는 것이 바로 System.Math 클래스입니다. 이 클래스는 절댓값 계산, 반올림, 거듭제곱, 제곱근은 물론 삼각 함수와 로그 계산까지 다양한 수학 연산을 위한 메서드와 속성을 제공합니다.
이 글에서는 Math 클래스의 대표적인 메서드들을 살펴보고, 실제 코드 예제를 통해 활용 방법을 알아보겠습니다.
Math 클래스의 주요 메서드
Math 클래스가 제공하는 대표적인 메서드는 다음과 같습니다.
| 번호 | 메서드 및 설명 |
|---|---|
| 1 | Abs(Decimal) Decimal 형식 숫자의 절댓값을 반환합니다. |
| 2 | Abs(Double) 배정밀도(double) 부동 소수점 숫자의 절댓값을 반환합니다. |
| 3 | Abs(Int16) 16비트 부호 있는 정수(short)의 절댓값을 반환합니다. |
| 4 | Abs(Int32) 32비트 부호 있는 정수(int)의 절댓값을 반환합니다. |
| 5 | Abs(Int64) 64비트 부호 있는 정수(long)의 절댓값을 반환합니다. |
| 6 | Abs(SByte) 8비트 부호 있는 정수(sbyte)의 절댓값을 반환합니다. |
| 7 | Abs(Single) 단정밀도(float) 부동 소수점 숫자의 절댓값을 반환합니다. |
| 8 | Acos(Double) 지정된 숫자를 코사인 값으로 갖는 각도(아크코사인)를 반환합니다. |
| 9 | Asin(Double) 지정된 숫자를 사인 값으로 갖는 각도(아크사인)를 반환합니다. |
| 10 | Atan(Double) 지정된 숫자를 탄젠트 값으로 갖는 각도(아크탄젠트)를 반환합니다. |
위 표 외에도 Math 클래스에는 Sqrt(제곱근), Pow(거듭제곱), Round(반올림), Floor(내림), Ceiling(올림), Exp(지수), Log(로그) 등 유용한 메서드가 다수 포함되어 있습니다. 전체 메서드 목록은 MSDN(Microsoft 공식 문서)에서 확인할 수 있습니다.
절댓값 구하기 예제
가장 기본적인 활용 예로, Math.Abs() 메서드를 사용해 음수를 양수로 변환하는 방법을 살펴보겠습니다.
코드
using System;
class Program {
static void Main() {
int val1 = 50;
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... 50 -150 After... 50 150
코드 설명
위 예제에서는 두 개의 int 변수를 선언했습니다. val1에는 양수 50을, val2에는 음수 -150을 저장했습니다.
그다음 Math.Abs() 메서드를 호출하여 각 변수의 절댓값을 구했습니다. 실행 결과를 보면 양수인 50은 그대로 출력되고, 음수였던 -150은 부호가 제거된 150으로 변환된 것을 확인할 수 있습니다.
이처럼 Math.Abs()는 데이터의 크기만 필요하고 부호가 중요하지 않은 경우, 예를 들어 두 값의 차이를 비교하거나 거리를 계산할 때 매우 유용하게 사용됩니다.