2023년 6월 30일 금요일

[C++] 반올림과 반내림 이해하기: 코드 예제로 배우는 기초 이론

이 글에서는 C++에서의 반올림과 반내림에 대해 배워보고, 이를 사용하는 방법에 대해 설명합니다. 이 두 가지 기법은 금융, 과학 계산, 데이터 분석 등 많은 분야에서 중요하게 사용되며, C++에서는 이를 위한 다양한 함수를 제공하고 있습니다.



안녕하세요, 개발자 여러분. 오늘은 프로그래밍 언어 중 하나인 C++에서의 반올림과 반내림에 대해 배워볼까 합니다. 이 두 개념은 많은 분야에서 굉장히 중요합니다. 예를 들어 금융, 과학 계산, 데이터 분석 등에서는 이를 정확하게 이해하고 사용할 수 있어야 합니다. C++에서는 이를 위한 다양한 방법이 있으며, 이 포스트에서는 그 중 몇 가지를 소개하도록 하겠습니다.




1. 반올림(Rounding)

먼저 반올림에 대해 알아보겠습니다. 반올림은 특정 자릿수에서 더 높은 수 또는 더 낮은 수로 가장 가까운 수로 근사하는 방법입니다. 일반적으로 소수점 다음의 숫자가 5 이상이면 올림하고, 그렇지 않으면 내림합니다.


C++에서는 라이브러리에 있는 round() 함수를 이용해 쉽게 반올림을 할 수 있습니다. 이 함수는 매개변수로 받은 실수를 가장 가까운 정수로 반올림합니다.


다음은 round() 함수의 사용 예제입니다.

1
2
3
4
5
6
7
8
#include <iostream>
#include <cmath>
 
int main() {
    double num = 3.6;
    std::cout << round(num); // 출력: 4
    return 0;
}
cs

이 코드에서는 3.6을 가장 가까운 정수로 반올림하였습니다.



다음 예제는 소수점 이하 둘째 자리에서 반올림하는 코드입니다.

1
2
3
4
5
6
7
8
9
#include <iostream>
#include <cmath>
 
int main() {
    double num = 3.46;
    num = round(num * 10/ 10// 소수점 둘째 자리에서 반올림
    std::cout << num; // 출력: 3.5
    return 0;
}
cs

이 코드에서는 num을 10배하여 소수점 이하 첫 번째 자리를 정수 부분으로 옮긴 후 round() 함수로 반올림하고 다시 10으로 나누어 원래의 위치로 돌려놓았습니다.




2. 반내림(Truncation)

이번에는 반내림에 대해 알아보겠습니다. 반내림은 특정 자릿수에서 무조건 낮은 수로 가장 가까운 수로 근사하는 방법입니다. 이는 라이브러리의 trunc() 함수를 이용하면 됩니다.

다음은 trunc() 함수를 사용하는 예제입니다.

1
2
3
4
5
6
7
8
#include <iostream>
#include <cmath>
 
int main() {
    double num = 3.6;
    std::cout << trunc(num); // 출력: 3
    return 0;
}
cs

이 코드에서는 3.6을 가장 가까운 정수로 반내림하였습니다.



다음은 소수점 이하 둘째 자리에서 반내림하는 코드입니다.

1
2
3
4
5
6
7
8
9
#include <iostream>
#include <cmath>
 
int main() {
    double num = 3.46;
    num = trunc(num * 10/ 10// 소수점 둘째 자리에서 반내림
    std::cout << num; // 출력: 3.4
    return 0;
}
cs

이 코드에서도 num을 10배하여 소수점 이하 첫 번째 자리를 정수 부분으로 옮긴 후 trunc() 함수로 반내림하고 다시 10으로 나누어 원래의 위치로 돌려놓았습니다.




이처럼 C++에서는 라이브러리를 활용하여 쉽게 반올림과 반내림을 수행할 수 있습니다. 이 포스트가 여러분의 프로그래밍 스킬 향상에 도움이 되었기를 바랍니다.

댓글 없음:

댓글 쓰기

Java Record: 간결하고 불변성을 가진 데이터 클래스를 만들기 위한 기능

Java 14부터 도입된 Record는 Java 프로그래밍에서 데이터 클래스를 간결하게 정의하고, 불변성을 가진 객체를 생성하는 데 도움을 주는 기능입니다. 이 블로그에서는 Java의 Record에 대해 소개하고, Record의 기능과 활용 방법에 대...