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

C++ STL의 acosh() 함수 – 역쌍곡선 코사인 계산 방법

acosh() 함수는 라디안(radian) 단위로 주어진 값에 대한 역쌍곡선 코사인(arc hyperbolic cosine)을 반환하는 함수입니다. 이 함수는 C++ STL에 내장되어 있으며, <cmath> 헤더 파일에 정의되어 있습니다.

acosh() 함수의 문법

acosh() 함수의 기본 문법은 다음과 같습니다.

acosh(var)

문법에서 확인할 수 있듯이, acosh() 함수는 float, double 또는 long double 타입의 매개변수 var를 하나 받습니다. 이 매개변수의 값은 반드시 1보다 크거나 같아야 하며, 그렇지 않으면 도메인 오류(domain error)가 발생합니다. 함수는 var의 역쌍곡선 코사인 값을 반환합니다.

acosh() 함수 기본 사용 예제

다음은 C++에서 acosh() 함수를 사용하는 간단한 프로그램입니다.

예제 코드

#include <iostream>
#include <cmath>
using namespace std;
int main() {
    double d = 12, ans;
    ans = acosh(d);
    cout << "acosh("<< d <<") = " << ans << endl;
    return 0;
}

실행 결과

acosh(12) = 3.17631

위 프로그램의 동작 과정을 살펴보면 다음과 같습니다.

  1. 먼저 변수 d를 값 12로 초기화합니다.
  2. 그다음 acosh() 함수를 사용하여 d의 역쌍곡선 코사인 값을 구하고 변수 ans에 저장합니다.
  3. 마지막으로 ans의 값을 화면에 출력합니다.

핵심 로직은 아래 코드 스니펫으로 요약할 수 있습니다.

double d = 12, ans;
ans = acosh(d);
cout << "acosh("<< d <<") = " << ans << endl;

결과를 각도(degree)로 변환하여 출력하기

acosh() 함수가 반환하는 결과는 라디안 단위입니다. 이 값을 180/π를 곱하면 일반적인 각도(degree) 단위로 변환하여 표시할 수 있습니다. 다음 프로그램은 이러한 변환 과정을 보여줍니다.

예제 코드

#include <iostream>
#include <cmath>
using namespace std;
int main() {
    double d = 12, ans;
    ans = acosh(d);
    ans = ans*180/3.14159;
    cout << "acosh("<<d <<") = " << ans << endl;
    return 0;
}

실행 결과

acosh(12) = 181.989

위 프로그램에서는 먼저 acosh() 함수를 호출하여 역쌍곡선 코사인 값을 구한 뒤, 그 값에 180/π(3.14159)를 곱하여 라디안을 각도로 변환합니다. 마지막으로 변환된 결과를 출력합니다. 핵심 변환 로직은 다음 코드와 같습니다.

double d = 12, ans;
ans = acosh(d);
ans = ans*180/3.14159;
cout << "acosh("<< d <<") = " << ans << endl;

정리

  • acosh() 함수는 <cmath> 헤더에 포함된 내장 함수로, 역쌍곡선 코사인 값을 반환합니다.
  • 매개변수는 float, double, long double 타입을 지원하며, 값은 1 이상이어야 합니다.
  • 반환값은 라디안 단위이며, 필요에 따라 180/π를 곱해 각도 단위로 변환할 수 있습니다.