<개인공부>/[C++]

[C++] round 반올림 함수에 대해서.

사용자 BlockDMask 2019. 3. 19. 01:48
반응형

안녕하세요! BlockDMask 입니다.

오늘은 C++11에 추가반올림함수 round에 대해서 이야기해보려 합니다.

(C언어/C++ 올림함수 ceil, 내림함수 floor가 궁금하다면 [바로가기] 이쪽에 포스팅이 있습니다.)

(C++ 버림함수 trunc가 궁금하다면 [바로가기] 이쪽에 포스팅이 있습니다.)


1. C++ round 반올림 함수 원형과 설명


▼ round 함수

헤더파일 : <cmath>

함수원형1 : double round(double num);

함수원형2 : float round(float num);

함수원형3 : long double round(long double num);

함수원형4 : double round(T x);

함수설명 : round 함수는 반올림을 하는 함수 입니다. 인자로 들어온 값을 반올림해서 반환하는 함수 입니다.


(C++에서는 함수 오버로딩(overloading)이 가능하기 때문에 매개변수로 들어오는 타입, 개수가 다르면 같은이름의 함수를 사용할 수 있습니다.)

(또한, 함수원형 네번째에 나와있는 T가 궁금하시다면 [바로가기])


▼ 간단한 round 함수 예를들면

round(3.2)는 -> 3이 반환되고

round(3.7) -> 4가 반환됩니다.


그러면 음수는 어떨까요?

round(-3.2) -> -3이 반환 될거고

round(-3.7)은 -> -4가 반환 되겠죠?

정말로 그런지 아래 예제 코드로 볼까요?


2. C++ round 반올림 함수 예제


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
//C++ round example.
//BlockDMask
#include<iostream>    //cout
#include<cmath>        //round, ceil, floor
using namespace std;
 
int main(void)
{
    double a1 = 3.2;
    double a2 = 3.7;
    double a3 = -3.2;
    double a4 = -3.7;
 
    cout << "[C++] round example. BlockDMask" << endl;
    cout << "round(3.2) : " << round(a1) << endl;
    cout << "round(3.7) : " << round(a2) << endl;
    cout << "round(-3.2) : " << round(a3) << endl;
    cout << "round(-3.7) : " << round(a4) << endl;
 
    cout << endl;
    system("pause");
    return 0;
}
cs


round 함수 예제 결과

예상했던 것 처럼. 결과가 잘 나오네요.


(C언어/C++ ceil, floor 올림 내림함수가 궁금하다면? [바로가기])

(C++의 trunc 버림함수가 궁금하다면? [바로가기])

이상으로 C++ 반올림 함수 round에 대한 포스팅을 마치겠습니다. 감사합니다. 또오세요~

반응형