C#의 Math 클래스는 삼각함수, 로그 함수 등 다양한 수학 연산을 수행할 수 있는 정적(static) 메서드와 상수를 제공합니다. 별도의 객체 생성 없이 바로 호출할 수 있어 수학 관련 계산을 처리할 때 매우 유용합니다.
이 글에서는 Math 클래스가 제공하는 대표적인 상수인 Math.E와 Math.PI, 그리고 자주 사용되는 메서드인 Math.Acos(), Math.Pow()의 문법과 예제를 살펴보겠습니다.
Math.E – 자연로그의 밑
Math.E는 자연로그의 백(base)으로 알려진 상수 e를 나타냅니다.
문법
public const double E = 2.71828182845905;
예제
다음은 Math.E 값을 출력하는 간단한 예제입니다.
using System;
public class Demo{
public static void Main(){
double d = Math.E;
Console.WriteLine("Math.E = " + d);
}
}실행 결과
Math.E = 2.71828182845905
Math.PI – 원주율
Math.PI는 원의 둘레를 지름으로 나눈 비율, 즉 원주율 상수 π(파이)를 나타내는 필드입니다.
문법
public const double PI = 3.14159265358979;
예제
다음은 Math.PI 값을 출력하는 예제입니다.
using System;
public class Demo{
public static void Main(){
double d = Math.PI;
Console.WriteLine("Math.PI = " + d);
}
}실행 결과
Math.PI = 3.14159265358979
Math.Acos() – 아크코사인 계산
Math.Acos() 메서드는 지정된 숫자를 코사인 값으로 가지는 각도(아크코사인)를 반환합니다. 인자로 double 형식의 값을 받습니다.
문법
public static double Acos (double val);
여기서 val은 코사인 값을 나타내는 숫자로, 반드시 -1 이상 1 이하의 범위여야 합니다. 범위를 벗어난 값이나 NaN, 무한대를 전달하면 NaN(Not a Number)이 반환됩니다.
예제
using System;
public class Demo {
public static void Main(){
double val1 = -0.0;
double val2 = Double.PositiveInfinity;
double val3 = Double.NaN;
Console.WriteLine("Return value of {0} : {1}",
val1, Math.Acos(val1));
Console.WriteLine("Return value of {0} : {1}",
val2, Math.Acos(val2));
Console.WriteLine("Return value of {0} : {1}",
val2, Math.Acos(val3));
}
}실행 결과
Return value of 0 : 1.5707963267949 Return value of ∞ : NaN Return value of ∞ : NaN
Math.Pow() – 거듭제곱 계산
Math.Pow() 메서드는 특정 숫자를 지정한 지수만큼 거듭제곱한 결과를 반환합니다.
문법
public static double Pow(double val1, double val2)
val1은 거듭제곱의 백이 되는 배정밀도 부동 소수점 숫자이고, val2는 지수를 지정하는 배정밀도 부동 소수점 숫자입니다.
예제
using System;
public class Demo {
public static void Main(){
double res;
res = Math.Pow(5, 0);
Console.WriteLine("Math.Pow(5,0) = "+res);
res = Math.Pow(0,5);
Console.WriteLine("Math.Pow(0,5) = "+res);
}
}실행 결과
Math.Pow(5,0) = 1 Math.Pow(0,5) = 0
마무리
C#의 Math 클래스는 위에서 소개한 것 외에도 Sqrt()(제곱근), Abs()(절댓값), Ceiling()/Floor()(올림/내림), Sin(), Cos(), Tan() 등 다양한 수학 메서드를 제공합니다. 이러한 기능들을 적절히 활용하면 복잡한 수학 연산도 손쉽게 구현할 수 있습니다.