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

C++ 프로그래밍에서 제곱근 계산하기: sqrt, sqrtl, sqrtf 함수 완벽 가이드


C++ 수학(Math) 클래스

이 글에서는 C++ 수학(Math) 클래스의 핵심 함수인 sqrt(), sqrtl(), sqrtf()를 사용하여 각각 double, long double, float 타입 변수의 제곱근을 높은 정밀도로 계산하는 방법을 살펴봅니다. C++의 수학 클래스는 sin, cos, 제곱근, ceil, floor 등 다양한 수학 연산 함수를 폭넓게 제공하며, 이러한 계산 메서드들을 모두 활용하려면 프로그램에 반드시 <cmath> 헤더 라이브러리를 포함해야 합니다.

sqrt() 함수

수학 클래스의 sqrt() 함수는 double 타입 변수의 제곱근을 정밀한 값으로 반환합니다. 이 함수의 문법은 다음과 같습니다.

문법

double sqrt(double arg)

아래 C++ 코드는 초기값이 설정된 double 타입 변수를 선언한 뒤 그 제곱근을 계산합니다. 수학 클래스의 sqrt() 함수가 해당 값을 받아 정밀도가 유지된 결과를 출력합니다.

예제

#include <cmath>
#include <iomanip>
#include <iostream>
using namespace std;
int main(){
   double val = 225.0;
   cout << fixed << setprecision(5) << sqrt(val);
   return (0);
}

실행 결과

아래와 같이 이 프로그램은 소수점 이하 5자리의 정밀도로 결과를 출력합니다.

15.00000

sqrtl() 함수

수학 클래스의 sqrtl() 함수는 long double 타입 변수의 제곱근을 정밀한 값으로 반환합니다. 이 함수는 일반적인 범위를 넘어서는 매우 큰 숫자를 다룰 때 특히 유용합니다. 함수의 문법은 다음과 같습니다.

long double sqrtl(long double arg)

다음 예제는 sqrtl() 메서드를 활용하여 큰 값의 제곱근을 계산하는 과정을 보여줍니다.

예제

#include <cmath>
#include <iomanip>
#include <iostream>
using namespace std;
int main(){
   long long int val = 1000000000000000000;
   cout << fixed << setprecision(10) << sqrt(val);
   return (0);
}

실행 결과

코드 편집기로 프로그램을 컴파일한 후, 입력된 long 타입 변수의 계산 결과는 아래와 같습니다.

1000000000.000000000

sqrtf() 함수

수학 클래스의 sqrtf() 함수는 float 타입 변수의 제곱근을 정밀한 값으로 반환합니다. 함수의 문법은 다음과 같습니다.

문법

float sqrtf(float arg)

문법에 따라 프로그램은 float 타입 변수를 sqrtf() 함수에 전달하여 제곱근을 계산합니다.

예제

#include <cmath>
#include <iomanip>
#include <iostream>
using namespace std;
int main(){
   float val = 300.0;
   cout << fixed << setprecision(5) << sqrtf(val);
   return (0);
}

실행 결과

입력된 float 타입 변수의 제곱근 계산 결과는 아래와 같습니다.

17.32051