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

C#에서 부동 소수점 값의 역쌍곡선 코사인(Acosh) 구하기

C#에서 부동 소수점(float) 값의 역쌍곡선 코사인(hyperbolic arc-cosine)을 구하려면 MathF.Acosh() 메서드를 사용합니다. 이 메서드는 float 형식의 값을 매개변수로 받아 해당 값에 대한 역쌍곡선 코사인을 반환합니다.

단, Acosh 함수의 수학적 정의역은 1 이상입니다. 따라서 1보다 작은 값을 인자로 전달하면 유효한 결과를 계산할 수 없어 NaN(Not a Number)이 반환됩니다.

예제 1: 정의역을 벗어난 값

using System;
public class Demo {
    public static void Main() {
        float val1 = 0.1f;
        float val2 = 0.9f;
        Console.WriteLine("Angle (val1) = " + (MathF.Acosh(val1)));
        Console.WriteLine("Angle (val2) = " + (MathF.Acosh(val2)));
    }
}

출력 결과

Angle (val1) = NaN
Angle (val2) = NaN

위 예제에서는 0.1과 0.9처럼 1보다 작은 값을 사용했기 때문에 두 결과 모두 NaN으로 출력됩니다.

예제 2: 유효한 범위의 값

using System;
public class Demo {
    public static void Main() {
        float val1 = 5.1f;
        float val2 = 8.9f;
        Console.WriteLine("Angle (val1) = " + (MathF.Acosh(val1)));
        Console.WriteLine("Angle (val2) = " + (MathF.Acosh(val2)));
    }
}

출력 결과

Angle (val1) = 2.312634
Angle (val2) = 2.876027

이번에는 5.1과 8.9처럼 1 이상의 유효한 값을 전달했으므로, 각각 2.312634와 2.876027이라는 올바른 역쌍곡선 코사인 값이 계산되어 출력됩니다.

정리

MathF.Acosh() 메서드를 사용할 때는 반드시 1 이상의 값을 전달해야 하며, 그렇지 않으면 NaN이 반환된다는 점을 기억하세요. 실무에서는 계산 전에 입력값의 유효성을 검사하여 예상치 못한 NaN 결과를 방지하는 것이 좋습니다.